{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# 1.数据获取"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "34e05ec651a9d9a7"
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:55:33.542496500Z",
     "start_time": "2023-12-19T08:55:33.538499200Z"
    }
   },
   "id": "d122714ee6a35793"
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [],
   "source": [
    "data = pd.read_csv(\"d://data//otto//train.csv\")"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:55:34.664411Z",
     "start_time": "2023-12-19T08:55:34.258077100Z"
    }
   },
   "id": "6c1eec70ef86a2a9"
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [
    {
     "data": {
      "text/plain": "          id  feat_1  feat_2  feat_3  feat_4  feat_5  feat_6  feat_7  feat_8  \\\n0          1       1       0       0       0       0       0       0       0   \n1          2       0       0       0       0       0       0       0       1   \n2          3       0       0       0       0       0       0       0       1   \n3          4       1       0       0       1       6       1       5       0   \n4          5       0       0       0       0       0       0       0       0   \n...      ...     ...     ...     ...     ...     ...     ...     ...     ...   \n61873  61874       1       0       0       1       1       0       0       0   \n61874  61875       4       0       0       0       0       0       0       0   \n61875  61876       0       0       0       0       0       0       0       3   \n61876  61877       1       0       0       0       0       0       0       0   \n61877  61878       0       0       0       0       0       0       0       0   \n\n       feat_9  ...  feat_85  feat_86  feat_87  feat_88  feat_89  feat_90  \\\n0           0  ...        1        0        0        0        0        0   \n1           0  ...        0        0        0        0        0        0   \n2           0  ...        0        0        0        0        0        0   \n3           0  ...        0        1        2        0        0        0   \n4           0  ...        1        0        0        0        0        1   \n...       ...  ...      ...      ...      ...      ...      ...      ...   \n61873       0  ...        1        0        0        0        0        0   \n61874       0  ...        0        2        0        0        2        0   \n61875       1  ...        0        3        1        0        0        0   \n61876       0  ...        0        0        0        0        1        0   \n61877       0  ...        0        0        0        0        0        0   \n\n       feat_91  feat_92  feat_93   target  \n0            0        0        0  Class_1  \n1            0        0        0  Class_1  \n2            0        0        0  Class_1  \n3            0        0        0  Class_1  \n4            0        0        0  Class_1  \n...        ...      ...      ...      ...  \n61873        0        2        0  Class_9  \n61874        0        1        0  Class_9  \n61875        0        0        0  Class_9  \n61876        3       10        0  Class_9  \n61877        0        2        0  Class_9  \n\n[61878 rows x 95 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>id</th>\n      <th>feat_1</th>\n      <th>feat_2</th>\n      <th>feat_3</th>\n      <th>feat_4</th>\n      <th>feat_5</th>\n      <th>feat_6</th>\n      <th>feat_7</th>\n      <th>feat_8</th>\n      <th>feat_9</th>\n      <th>...</th>\n      <th>feat_85</th>\n      <th>feat_86</th>\n      <th>feat_87</th>\n      <th>feat_88</th>\n      <th>feat_89</th>\n      <th>feat_90</th>\n      <th>feat_91</th>\n      <th>feat_92</th>\n      <th>feat_93</th>\n      <th>target</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>Class_1</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>Class_1</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>Class_1</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>4</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>6</td>\n      <td>1</td>\n      <td>5</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>1</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>Class_1</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>5</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>Class_1</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>61873</th>\n      <td>61874</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>Class_9</td>\n    </tr>\n    <tr>\n      <th>61874</th>\n      <td>61875</td>\n      <td>4</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>Class_9</td>\n    </tr>\n    <tr>\n      <th>61875</th>\n      <td>61876</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>1</td>\n      <td>...</td>\n      <td>0</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>Class_9</td>\n    </tr>\n    <tr>\n      <th>61876</th>\n      <td>61877</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>3</td>\n      <td>10</td>\n      <td>0</td>\n      <td>Class_9</td>\n    </tr>\n    <tr>\n      <th>61877</th>\n      <td>61878</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>Class_9</td>\n    </tr>\n  </tbody>\n</table>\n<p>61878 rows × 95 columns</p>\n</div>"
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:35:22.029362200Z",
     "start_time": "2023-12-19T08:35:21.945575300Z"
    }
   },
   "id": "3b9f4c6bd63622"
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "data": {
      "text/plain": "(61878, 95)"
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:34:50.551826500Z",
     "start_time": "2023-12-19T06:34:50.301141200Z"
    }
   },
   "id": "56625838ab7b0c2"
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "data": {
      "text/plain": "                 id       feat_1        feat_2        feat_3        feat_4  \\\ncount  61878.000000  61878.00000  61878.000000  61878.000000  61878.000000   \nmean   30939.500000      0.38668      0.263066      0.901467      0.779081   \nstd    17862.784315      1.52533      1.252073      2.934818      2.788005   \nmin        1.000000      0.00000      0.000000      0.000000      0.000000   \n25%    15470.250000      0.00000      0.000000      0.000000      0.000000   \n50%    30939.500000      0.00000      0.000000      0.000000      0.000000   \n75%    46408.750000      0.00000      0.000000      0.000000      0.000000   \nmax    61878.000000     61.00000     51.000000     64.000000     70.000000   \n\n             feat_5        feat_6        feat_7        feat_8        feat_9  \\\ncount  61878.000000  61878.000000  61878.000000  61878.000000  61878.000000   \nmean       0.071043      0.025696      0.193704      0.662433      1.011296   \nstd        0.438902      0.215333      1.030102      2.255770      3.474822   \nmin        0.000000      0.000000      0.000000      0.000000      0.000000   \n25%        0.000000      0.000000      0.000000      0.000000      0.000000   \n50%        0.000000      0.000000      0.000000      0.000000      0.000000   \n75%        0.000000      0.000000      0.000000      1.000000      0.000000   \nmax       19.000000     10.000000     38.000000     76.000000     43.000000   \n\n       ...       feat_84       feat_85       feat_86       feat_87  \\\ncount  ...  61878.000000  61878.000000  61878.000000  61878.000000   \nmean   ...      0.070752      0.532306      1.128576      0.393549   \nstd    ...      1.151460      1.900438      2.681554      1.575455   \nmin    ...      0.000000      0.000000      0.000000      0.000000   \n25%    ...      0.000000      0.000000      0.000000      0.000000   \n50%    ...      0.000000      0.000000      0.000000      0.000000   \n75%    ...      0.000000      0.000000      1.000000      0.000000   \nmax    ...     76.000000     55.000000     65.000000     67.000000   \n\n            feat_88       feat_89       feat_90       feat_91       feat_92  \\\ncount  61878.000000  61878.000000  61878.000000  61878.000000  61878.000000   \nmean       0.874915      0.457772      0.812421      0.264941      0.380119   \nstd        2.115466      1.527385      4.597804      2.045646      0.982385   \nmin        0.000000      0.000000      0.000000      0.000000      0.000000   \n25%        0.000000      0.000000      0.000000      0.000000      0.000000   \n50%        0.000000      0.000000      0.000000      0.000000      0.000000   \n75%        1.000000      0.000000      0.000000      0.000000      0.000000   \nmax       30.000000     61.000000    130.000000     52.000000     19.000000   \n\n            feat_93  \ncount  61878.000000  \nmean       0.126135  \nstd        1.201720  \nmin        0.000000  \n25%        0.000000  \n50%        0.000000  \n75%        0.000000  \nmax       87.000000  \n\n[8 rows x 94 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>id</th>\n      <th>feat_1</th>\n      <th>feat_2</th>\n      <th>feat_3</th>\n      <th>feat_4</th>\n      <th>feat_5</th>\n      <th>feat_6</th>\n      <th>feat_7</th>\n      <th>feat_8</th>\n      <th>feat_9</th>\n      <th>...</th>\n      <th>feat_84</th>\n      <th>feat_85</th>\n      <th>feat_86</th>\n      <th>feat_87</th>\n      <th>feat_88</th>\n      <th>feat_89</th>\n      <th>feat_90</th>\n      <th>feat_91</th>\n      <th>feat_92</th>\n      <th>feat_93</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>61878.000000</td>\n      <td>61878.00000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>...</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n      <td>61878.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>30939.500000</td>\n      <td>0.38668</td>\n      <td>0.263066</td>\n      <td>0.901467</td>\n      <td>0.779081</td>\n      <td>0.071043</td>\n      <td>0.025696</td>\n      <td>0.193704</td>\n      <td>0.662433</td>\n      <td>1.011296</td>\n      <td>...</td>\n      <td>0.070752</td>\n      <td>0.532306</td>\n      <td>1.128576</td>\n      <td>0.393549</td>\n      <td>0.874915</td>\n      <td>0.457772</td>\n      <td>0.812421</td>\n      <td>0.264941</td>\n      <td>0.380119</td>\n      <td>0.126135</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>17862.784315</td>\n      <td>1.52533</td>\n      <td>1.252073</td>\n      <td>2.934818</td>\n      <td>2.788005</td>\n      <td>0.438902</td>\n      <td>0.215333</td>\n      <td>1.030102</td>\n      <td>2.255770</td>\n      <td>3.474822</td>\n      <td>...</td>\n      <td>1.151460</td>\n      <td>1.900438</td>\n      <td>2.681554</td>\n      <td>1.575455</td>\n      <td>2.115466</td>\n      <td>1.527385</td>\n      <td>4.597804</td>\n      <td>2.045646</td>\n      <td>0.982385</td>\n      <td>1.201720</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>1.000000</td>\n      <td>0.00000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>...</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>15470.250000</td>\n      <td>0.00000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>...</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>30939.500000</td>\n      <td>0.00000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>...</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>46408.750000</td>\n      <td>0.00000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>...</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>61878.000000</td>\n      <td>61.00000</td>\n      <td>51.000000</td>\n      <td>64.000000</td>\n      <td>70.000000</td>\n      <td>19.000000</td>\n      <td>10.000000</td>\n      <td>38.000000</td>\n      <td>76.000000</td>\n      <td>43.000000</td>\n      <td>...</td>\n      <td>76.000000</td>\n      <td>55.000000</td>\n      <td>65.000000</td>\n      <td>67.000000</td>\n      <td>30.000000</td>\n      <td>61.000000</td>\n      <td>130.000000</td>\n      <td>52.000000</td>\n      <td>19.000000</td>\n      <td>87.000000</td>\n    </tr>\n  </tbody>\n</table>\n<p>8 rows × 94 columns</p>\n</div>"
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:34:50.698270300Z",
     "start_time": "2023-12-19T06:34:50.308287100Z"
    }
   },
   "id": "15ea9205720eb414"
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "data": {
      "text/plain": "0        Class_1\n1        Class_1\n2        Class_1\n3        Class_1\n4        Class_1\n          ...   \n61873    Class_9\n61874    Class_9\n61875    Class_9\n61876    Class_9\n61877    Class_9\nName: target, Length: 61878, dtype: object"
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.target"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:34:50.699270Z",
     "start_time": "2023-12-19T06:34:50.609289700Z"
    }
   },
   "id": "fa937e4ced12d6ac"
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "\n",
    "sns.countplot(data.target)\n",
    "plt.show()\n",
    "\n",
    "# 看图可以知道类别不平衡，需要处理数据\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:55:44.188189500Z",
     "start_time": "2023-12-19T08:55:43.582635600Z"
    }
   },
   "id": "9b11a4fae5486593"
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 2.数据处理"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "912a0f6ab9635917"
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 2.1.确定x和y"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "c3b3a1e11ae1e26d"
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [],
   "source": [
    "x = data.drop([\"id\", \"target\"], axis=1)  #id没用的，target用来作为y值\n",
    "y = data[\"target\"]"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:55:48.478236700Z",
     "start_time": "2023-12-19T08:55:48.439020Z"
    }
   },
   "id": "812100c8f0bdb5f8"
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "outputs": [
    {
     "data": {
      "text/plain": "       feat_1  feat_2  feat_3  feat_4  feat_5  feat_6  feat_7  feat_8  feat_9  \\\n0           1       0       0       0       0       0       0       0       0   \n1           0       0       0       0       0       0       0       1       0   \n2           0       0       0       0       0       0       0       1       0   \n3           1       0       0       1       6       1       5       0       0   \n4           0       0       0       0       0       0       0       0       0   \n...       ...     ...     ...     ...     ...     ...     ...     ...     ...   \n61873       1       0       0       1       1       0       0       0       0   \n61874       4       0       0       0       0       0       0       0       0   \n61875       0       0       0       0       0       0       0       3       1   \n61876       1       0       0       0       0       0       0       0       0   \n61877       0       0       0       0       0       0       0       0       0   \n\n       feat_10  ...  feat_84  feat_85  feat_86  feat_87  feat_88  feat_89  \\\n0            0  ...        0        1        0        0        0        0   \n1            0  ...        0        0        0        0        0        0   \n2            0  ...        0        0        0        0        0        0   \n3            1  ...       22        0        1        2        0        0   \n4            0  ...        0        1        0        0        0        0   \n...        ...  ...      ...      ...      ...      ...      ...      ...   \n61873        0  ...        0        1        0        0        0        0   \n61874        0  ...        0        0        2        0        0        2   \n61875        0  ...        0        0        3        1        0        0   \n61876        0  ...        0        0        0        0        0        1   \n61877        0  ...        0        0        0        0        0        0   \n\n       feat_90  feat_91  feat_92  feat_93  \n0            0        0        0        0  \n1            0        0        0        0  \n2            0        0        0        0  \n3            0        0        0        0  \n4            1        0        0        0  \n...        ...      ...      ...      ...  \n61873        0        0        2        0  \n61874        0        0        1        0  \n61875        0        0        0        0  \n61876        0        3       10        0  \n61877        0        0        2        0  \n\n[61878 rows x 93 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>feat_1</th>\n      <th>feat_2</th>\n      <th>feat_3</th>\n      <th>feat_4</th>\n      <th>feat_5</th>\n      <th>feat_6</th>\n      <th>feat_7</th>\n      <th>feat_8</th>\n      <th>feat_9</th>\n      <th>feat_10</th>\n      <th>...</th>\n      <th>feat_84</th>\n      <th>feat_85</th>\n      <th>feat_86</th>\n      <th>feat_87</th>\n      <th>feat_88</th>\n      <th>feat_89</th>\n      <th>feat_90</th>\n      <th>feat_91</th>\n      <th>feat_92</th>\n      <th>feat_93</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>6</td>\n      <td>1</td>\n      <td>5</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>...</td>\n      <td>22</td>\n      <td>0</td>\n      <td>1</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>61873</th>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>61874</th>\n      <td>4</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>61875</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>61876</th>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>3</td>\n      <td>10</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>61877</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n<p>61878 rows × 93 columns</p>\n</div>"
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:34:51.256289100Z",
     "start_time": "2023-12-19T06:34:51.129973800Z"
    }
   },
   "id": "4af4b8ef6c92eace"
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "outputs": [
    {
     "data": {
      "text/plain": "0        Class_1\n1        Class_1\n2        Class_1\n3        Class_1\n4        Class_1\n          ...   \n61873    Class_9\n61874    Class_9\n61875    Class_9\n61876    Class_9\n61877    Class_9\nName: target, Length: 61878, dtype: object"
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:34:51.260468100Z",
     "start_time": "2023-12-19T06:34:51.156921500Z"
    }
   },
   "id": "10d85215c52dec2c"
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [],
   "source": [
    "### 方法1.减少过采样样本数\n",
    "from imblearn.under_sampling import RandomUnderSampler\n",
    "\n",
    "rus = RandomUnderSampler(random_state=0)\n",
    "x_resampled, y_resampled = rus.fit_resample(x, y)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:55:55.497528200Z",
     "start_time": "2023-12-19T08:55:53.615189600Z"
    }
   },
   "id": "f544e3a136b009ee"
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "data": {
      "text/plain": "((17361, 93), (17361,), (61878, 93), (61878,))"
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_resampled.shape, y_resampled.shape, x.shape, y.shape"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:36:07.301957900Z",
     "start_time": "2023-12-19T08:36:07.296860Z"
    }
   },
   "id": "33249288368715a3"
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "outputs": [
    {
     "data": {
      "text/plain": "<Axes: xlabel='count', ylabel='target'>"
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(y)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:34:54.247360300Z",
     "start_time": "2023-12-19T06:34:53.658131100Z"
    }
   },
   "id": "af3161b623b59b3f"
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "outputs": [
    {
     "data": {
      "text/plain": "<Axes: xlabel='count', ylabel='target'>"
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAGwCAYAAAB8crvUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQsklEQVR4nO3df1xUdb4/8NcgIhggGiCNiAIKavIr0Ujxyq8yRdpEsSXEXGlNLfiyG6V4RRFidTHJK4JRoejF1KZId0Ho0rJuP0xBNFdkTVEQRRcwwV8gCOfz/YPr3AhNIIfDMK/n49GD5nzODO/3wWFenB+foxBCCBARERGRxujJXQARERFRX8fARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGqYvdwG65Nq1m5AkuavoGQoF8PjjJvjxx5vQlXsZsGe5q+kZutgzoJt9s2e5q+kZv9TzvbFHgYGrBwkBnfkHfA971g3sWXfoYt/sWTdoumcGrh6kp6cHPR07iNuvn441DPasK3SxZ0A3+2bPvZskCUhS70+HCt68moiIiLRVa6uE+vqGbocuhQIwNzfB1av3P6Robs5Dilon/pNDOH35mtxlEBER9Qm2loPwzstToaen6PV7uRi4etCFqzdwuoqBi4iISNdoz0FaIiIiIi3FwEVERESkYQxcRERERBrGwEVERESkYQxcRERERBrGwEVERESkYQxcRERERBrGwEVERESkYQxcRERERBome+C6fv061q9fDx8fH7i4uGDGjBnIyMiAJEkAAEdHRxw5ckTmKtv85S9/QWhoqNxlEBERkZaR9dY+dXV1eOmll2BpaYmEhARYW1vj5MmTiI+Px8WLFxETEyNnee0cPnwYq1evhpOTk9ylEBERkZaRNXBt3LgRBgYGSE9Px4ABAwAAw4cPh6GhIZYtW4b58+fLWZ7ali1bkJaWhpEjR8pdChEREWkh2Q4pNjc3IycnByEhIeqwdY+3tzcyMjIwbNiwdsurq6sRERGBiRMnYvz48Zg9ezaKi4vV4zt37oS3tzecnJwQGBiIo0ePqseSkpLg6ekJZ2dnhIaG4uzZs52u9dtvv0V6ejqee+65bnZLREREuky2wFVZWYmGhob7HqJTKBTw8PCAgYFBu+VRUVFobW3Fnj17sG/f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2aGuru5XdE9ERES6RLbApa+vj5kzZ2LXrl1obm5uN1ZQUICCggJYWlqql5WVlaGoqAgZGRlYsmQJvLy8UFNTA6DtcOPx48eRlpYGDw8PREdHIy8vD01NTSguLsbBgwehUqng5eWlnt6hoqICZ86ceWidH374ITIyMtSPW1tbcfr0adjb2z+aDUFERER9nqzzcIWHh+PWrVsICwtDYWEhKisroVKpsGLFCixYsACjRo1Sr2tqago9PT3k5OSgqqoKeXl5SE5OBtB2xaOhoSFSUlKgUqlw6dIl5OTkoKGhAY6OjpAkCYmJicjPz8elS5eQlZUFIyMjjBw58qE1vvzyy8jKysJf//pXnD9/HrGxsbhz5w5efPFFDW0VIiIi6mtknYfLwsICu3fvRnJyMqKiolBfXw8bGxtEREQgODi43bpWVlaIjY1FSkoKkpKSYGtri1WrVmH58uUoLS2Fm5sbEhISkJqairi4OCiVSmzYsAH29vawt7dHREQE1q1bh9raWtjZ2SE1NRWDBg16aI2+vr6IjY3Fli1bcOXKFbi6umLbtm147LHHNLVZiIiIqI9RCE6Z3mNeTc3D8fIaucsgIiLqE8YMG4JdkbNQV3cbLS1St15DoQDMzU1w9epN/DwR3Rt7FGS/lyIRERFRXyfrIUW5bd++HZs3b37geEBAAOLi4nqwIiIiIuqLdDpwzZkzBz4+Pg8cNzY27sFqiIiIqK/S6cBlamoKU1NTucsgIiKiPo7ncBERERFpGAMXERERkYYxcBERERFpGAMXERERkYbp9EnzPW2EuSkam1vkLoOIiKhPsLV8+B1jegvONE9ERERaq7VVQn19AySpe3Gmp2aa5x6uHlRXd1vuEnrU4MGPsWcdwJ51hy72zZ57P0kS3Q5bPYmBqwdJkgSpe7d60joKRdvX1lapw18MfRV7lreWnqKLPQO62Td7lreWvoYnzRMRERFpGAMXERERkYYxcBERERFpGAMXERERkYbxpPkepKenBz0di7j9+ulYw2DPukIXewZ0s2/23Ltpy1WKnIeLiIiItBbn4aIO4j85hNOXr8ldBhERUZ9gazkI77w8FXp6il6/l4uBqwdduHoDp6sYuIiIiHSN9hykJSIiItJSDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxERERE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ODiI2tpa9bK//vWvwtPTUwghxNSpU8XXX3993+e+9dZbYvny5erHly9fFo6OjqKyslKzRT8Cb775pti4cWOH5SqVSvj4+KjflJIkiWeffVZ89tlnQgjt7vmn3n//feHn5yeamppEU1OTGDt2rDh//vx913355ZfF5s2b1Y+LioqEs7Oz+gOsNzl79qx44YUXREBAQLsPpEOHDglXV1d1cBZCiFdeeUXd16ZNm9q9lxsaGoSbm5v6+b19Gzyo748//lg8//zz7daNiYkRf/zjH4UQQlRUVIgxY8aIO3fu3Pd1p02bpv63L4QQ+/btE97e3hrqomse1LMQv+73lrb2/FOLFi0SUVFR6sfffvutmDJlyn3X7c2fbb/0+dQb3tM8pKghp0+fRktLC9zc3NTLJkyYgBMnTvS63c1dYWFhgY8++gjm5ubtlt+6dQu3bt1CdXU1Ro4ced/nnjhxAu7u7urHTzzxBJRKJU6cOKHJkh+Jc+fO3bevEydOYMKECVD87y3lFQoFnnrqKXz//ffqcW3t+Z76+np8+OGHePPNN2FgYIDz589DoVBg+PDhHdZtbW3FyZMn2/Xs6uqKu3fv4vTp0z1ZdqcUFhbi6aefxt69e9stP3HiBMaNG4eBAweql02YMOGBP1cjIyM8+eST+P7777ViGzyo73uHYH7u1q1bAICysjI88cQTGDBgQId1qqurceXKFUycOFG9bMKECaiqqkJNTc0j7qDrHtTzr/m9pa09/9R3332HoqIi/PGPf1QvKysrg62t7X3X782fbb/0+dQb3tP63eyLHqK2thaDBw+GgYGBepm5uTmamppQX1+PIUOGyFhd95mammLq1Knqx5IkITMzEx4eHjh37hwUCgXef/99fPXVVzAzM8Pvfvc7zJ49GwBQU1MDS0vLdq/3+OOP49///neP9tBVQgiUl5fjm2++QVpaGlpbW/H8888jIiICtbW1GDVqVLv1H3/8cZw9exaA9vb8U7t374alpSWef/55AMD58+dhbGyMt99+G4WFhbCyskJ4eDimTZuGGzduoKmpqV3P+vr6MDMz65U9v/zyy/ddXltb+4s/t18a14Zt8KC+ra2tYW1trX78448/IicnB+Hh4QDa/vDo378/XnvtNZSUlMDW1hZvv/02nJ2dUVtbCwDt+r73wffvf/+7w/bqaQ/q+df83tLWnn/q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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(y_resampled)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:36:12.482127500Z",
     "start_time": "2023-12-19T08:36:12.042433700Z"
    }
   },
   "id": "ec1fa942199528ae"
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [],
   "source": [
    "### 方法2.增加欠采样样本数\n",
    "from imblearn.over_sampling import SMOTE\n",
    "\n",
    "x_resampled2, y_resampled2 = SMOTE().fit_resample(x, y)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:56:11.779728500Z",
     "start_time": "2023-12-19T08:56:01.573955300Z"
    }
   },
   "id": "8bfbcc7bb042d581"
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [
    {
     "data": {
      "text/plain": "((145098, 93), (145098,), (61878, 93), (61878,))"
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_resampled2.shape, y_resampled2.shape, x.shape, y.shape"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:35:07.870452800Z",
     "start_time": "2023-12-19T06:35:07.858915200Z"
    }
   },
   "id": "c8eee946f9aea160"
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "outputs": [
    {
     "data": {
      "text/plain": "<Axes: xlabel='count', ylabel='target'>"
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(y_resampled2)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:35:08.513243100Z",
     "start_time": "2023-12-19T06:35:07.865648900Z"
    }
   },
   "id": "702d0653f89b5f69"
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 2.2.把标签值转换为数字"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "f6c2a79c41729470"
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "data": {
      "text/plain": "array([0, 0, 0, ..., 8, 8, 8])"
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import LabelEncoder\n",
    "\n",
    "encoder = LabelEncoder()\n",
    "y_resampled = encoder.fit_transform(y_resampled)\n",
    "y_resampled"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:56:26.419449300Z",
     "start_time": "2023-12-19T08:56:26.357459500Z"
    }
   },
   "id": "b7b32b3ac4a6f530"
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "outputs": [
    {
     "data": {
      "text/plain": "array([0, 0, 0, ..., 8, 8, 8])"
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_resampled2 = encoder.fit_transform(y_resampled2)\n",
    "y_resampled2"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:56:35.125894200Z",
     "start_time": "2023-12-19T08:56:35.056266600Z"
    }
   },
   "id": "bbc70bc04b43eccf"
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 2.3.分割数据"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "aaba4cc4cbaed728"
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "trainX, testX, trainY, testY = train_test_split(x_resampled, y_resampled, test_size=0.2)\n",
    "trainX2, testX2, trainY2, testY2 = train_test_split(x_resampled2, y_resampled2, test_size=0.2)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:56:38.622839100Z",
     "start_time": "2023-12-19T08:56:38.268079200Z"
    }
   },
   "id": "6df97e3b2239b0d9"
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "outputs": [
    {
     "data": {
      "text/plain": "((13888, 93), (13888,), (116078, 93), (116078,))"
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 训练集\n",
    "trainX.shape, trainY.shape, trainX2.shape, trainY2.shape"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:35:08.931807100Z",
     "start_time": "2023-12-19T06:35:08.921183200Z"
    }
   },
   "id": "637691b43bb61a9d"
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "outputs": [
    {
     "data": {
      "text/plain": "((3473, 93), (3473,), (29020, 93), (29020,))"
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 测试集\n",
    "testX.shape, testY.shape, testX2.shape, testY2.shape"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T06:35:08.988229800Z",
     "start_time": "2023-12-19T06:35:08.932803900Z"
    }
   },
   "id": "a8c593a5b0860551"
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 3.模型训练\n",
    "## 3.1.基本模型训练，随机森林"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "a52e5423121b5073"
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "outputs": [],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "rf = RandomForestClassifier(oob_score=True)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:56:50.013217800Z",
     "start_time": "2023-12-19T08:56:49.994151300Z"
    }
   },
   "id": "211fc94fd9de6955"
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "预测值= [5 2 1 ... 7 0 2]\n",
      "得分= 0.7736826950763029\n",
      "包外估计得分= 0.7644009216589862\n"
     ]
    }
   ],
   "source": [
    "rf.fit(trainX, trainY)\n",
    "\n",
    "pre = rf.predict(testX)\n",
    "print(\"预测值=\", pre)\n",
    "score = rf.score(testX, testY)\n",
    "oScore = rf.oob_score_  # 包外估计得分\n",
    "\n",
    "print(\"得分=\", score)\n",
    "print(\"包外估计得分=\", oScore)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:57:04.418947700Z",
     "start_time": "2023-12-19T08:56:58.298908700Z"
    }
   },
   "id": "f426554dd93cf358"
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "预测值= [8 6 6 ... 2 1 0]\n",
      "得分= 0.9117849758787043\n",
      "包外估计得分= 0.9037629869570462\n"
     ]
    }
   ],
   "source": [
    "rf.fit(trainX2, trainY2)\n",
    "\n",
    "pre2 = rf.predict(testX2)\n",
    "print(\"预测值=\", pre2)\n",
    "score2 = rf.score(testX2, testY2)\n",
    "oScore2 = rf.oob_score_  # 包外估计得分\n",
    "\n",
    "print(\"得分=\", score2)\n",
    "print(\"包外估计得分=\", oScore2)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:57:54.912782100Z",
     "start_time": "2023-12-19T08:57:09.035398600Z"
    }
   },
   "id": "287a6eaf09e8a90d"
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "outputs": [
    {
     "data": {
      "text/plain": "<Axes: ylabel='count'>"
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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AgDImh9qBQCSJoYAgKSJIQAgaWIIAEiaGAIAkiaGAICkiSEAIGliCABImhgCAJImhgCApIkhACBpYggASJoYAgCSJoYAgKSJIQAgaWIIAEiaGAIAkiaGAICkiSEAIGliCABImhgCAJImhgCApIkhACBpYggASJoYAgCSJoYAgKSJIQAgaWIIAEiaGAIAkiaGAICkiSEAIGliCABImhgCAJImhgCApIkhACBpYggASJoYAgCSJoYAgKSJIQAgaWIIAEiaGAIAkiaGAICkiSEAIGliCABImhgCAJImhgCApIkhACBpYggASJoYAgCSJoYAgKSJIQAgaWIIAEiaGAIAkiaGAICkiSEAIGliCABImhgCAJImhgCApGUaQ93d3bF8+fKor6+PhoaGaG5uPuTeXbt2xYIFC2LWrFlx/vnnx5///OcCTgoAFKtMY2jNmjXR1tYWGzZsiJUrV8batWtjy5Ytg/a98847ceWVV8Ypp5wSv/3tb2POnDlx9dVXx/79+zOYGgAoJpnFUGdnZ2zatClWrFgRNTU1MWfOnFiyZEls3Lhx0N7f/OY3MWbMmGhqaorJkyfHtddeG5MnT462trYMJgcAiklZVi/c3t4evb29UVtb279WV1cX69ati76+vigt/XenPfvss3HOOefEqFGj+tfuv//+gs4LABSnzE6GcrlcjB8/PsrLy/vXJk2aFN3d3XHgwIEBe1977bWYMGFC3HjjjXHWWWfFxRdfHC0tLQWeGAAoRpnFUFdX14AQioj+656engHrnZ2dcdddd8Xxxx8fd999d5xxxhmxePHieOONNwo2LwBQnDKLoYqKikHR89F1ZWXlgPVRo0ZFdXV1XHvttXHqqafG9773vZgyZUo89NBDBZsXAChOmcVQVVVVdHR0RG9vb/9aLpeLysrKGDdu3IC9xx9/fHzuc58bsDZlyhQnQwDAEcsshqqrq6OsrCx27NjRv9bS0hIzZ84c8ObpiIgvfvGLsWvXrgFrL730Upx00kmFGBUAKGKZxdDo0aOjsbExmpqaorW1NbZt2xbNzc2xcOHCiPjwlOjgwYMREXHJJZfErl274o477ohXX301fvazn8Vrr70WF1xwQVbjAwBFoiSfz+ezevGurq5oamqKrVu3xtixY2Px4sWxaNGiiIiYPn16rF69OubPnx8RH54arVq1Knbv3h3Tpk2L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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(pre)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:46:24.217644600Z",
     "start_time": "2023-12-19T08:45:43.849032Z"
    }
   },
   "id": "ad3ea1f8cb2549fd"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [
    {
     "data": {
      "text/plain": "<Axes: ylabel='count'>"
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sns.countplot(pre2)"
   ],
   "metadata": {
    "collapsed": false,
    "is_executing": true,
    "ExecuteTime": {
     "start_time": "2023-12-19T08:46:30.877602900Z"
    }
   },
   "id": "988b339b841fedee"
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "ename": "ValueError",
     "evalue": "y_true and y_pred contain different number of classes 9, 2. Please provide the true labels explicitly through the labels argument. Classes found in y_true: [0 1 2 3 4 5 6 7 8]",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mValueError\u001B[0m                                Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[13], line 4\u001B[0m\n\u001B[0;32m      1\u001B[0m \u001B[38;5;66;03m# logloss模型评估\u001B[39;00m\n\u001B[0;32m      2\u001B[0m \u001B[38;5;28;01mfrom\u001B[39;00m \u001B[38;5;21;01msklearn\u001B[39;00m\u001B[38;5;21;01m.\u001B[39;00m\u001B[38;5;21;01mmetrics\u001B[39;00m \u001B[38;5;28;01mimport\u001B[39;00m log_loss\n\u001B[1;32m----> 4\u001B[0m \u001B[43mlog_loss\u001B[49m\u001B[43m(\u001B[49m\u001B[43mtestY\u001B[49m\u001B[43m,\u001B[49m\u001B[43mpre\u001B[49m\u001B[43m,\u001B[49m\u001B[43meps\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;241;43m1e-15\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43mnormalize\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;28;43;01mTrue\u001B[39;49;00m\u001B[43m)\u001B[49m\n\u001B[0;32m      5\u001B[0m \u001B[38;5;66;03m# 注意，运行会报ValueError: y_true and y_pred contain different number of classes....错！原因：\u001B[39;00m\n\u001B[0;32m      6\u001B[0m \u001B[38;5;66;03m#logloss使用过程中,必须要求将输出用one-hot表示，需要将这个多类别问题的输出结果通过OneHotEncoder\u001B[39;00m\n",
      "File \u001B[1;32m~\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\utils\\_param_validation.py:214\u001B[0m, in \u001B[0;36mvalidate_params.<locals>.decorator.<locals>.wrapper\u001B[1;34m(*args, **kwargs)\u001B[0m\n\u001B[0;32m    208\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m    209\u001B[0m     \u001B[38;5;28;01mwith\u001B[39;00m config_context(\n\u001B[0;32m    210\u001B[0m         skip_parameter_validation\u001B[38;5;241m=\u001B[39m(\n\u001B[0;32m    211\u001B[0m             prefer_skip_nested_validation \u001B[38;5;129;01mor\u001B[39;00m global_skip_validation\n\u001B[0;32m    212\u001B[0m         )\n\u001B[0;32m    213\u001B[0m     ):\n\u001B[1;32m--> 214\u001B[0m         \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mfunc\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;241;43m*\u001B[39;49m\u001B[43margs\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;241;43m*\u001B[39;49m\u001B[38;5;241;43m*\u001B[39;49m\u001B[43mkwargs\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m    215\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m InvalidParameterError \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[0;32m    216\u001B[0m     \u001B[38;5;66;03m# When the function is just a wrapper around an estimator, we allow\u001B[39;00m\n\u001B[0;32m    217\u001B[0m     \u001B[38;5;66;03m# the function to delegate validation to the estimator, but we replace\u001B[39;00m\n\u001B[0;32m    218\u001B[0m     \u001B[38;5;66;03m# the name of the estimator by the name of the function in the error\u001B[39;00m\n\u001B[0;32m    219\u001B[0m     \u001B[38;5;66;03m# message to avoid confusion.\u001B[39;00m\n\u001B[0;32m    220\u001B[0m     msg \u001B[38;5;241m=\u001B[39m re\u001B[38;5;241m.\u001B[39msub(\n\u001B[0;32m    221\u001B[0m         \u001B[38;5;124mr\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mparameter of \u001B[39m\u001B[38;5;124m\\\u001B[39m\u001B[38;5;124mw+ must be\u001B[39m\u001B[38;5;124m\"\u001B[39m,\n\u001B[0;32m    222\u001B[0m         \u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mparameter of \u001B[39m\u001B[38;5;132;01m{\u001B[39;00mfunc\u001B[38;5;241m.\u001B[39m\u001B[38;5;18m__qualname__\u001B[39m\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m must be\u001B[39m\u001B[38;5;124m\"\u001B[39m,\n\u001B[0;32m    223\u001B[0m         \u001B[38;5;28mstr\u001B[39m(e),\n\u001B[0;32m    224\u001B[0m     )\n",
      "File \u001B[1;32m~\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2903\u001B[0m, in \u001B[0;36mlog_loss\u001B[1;34m(y_true, y_pred, eps, normalize, sample_weight, labels)\u001B[0m\n\u001B[0;32m   2901\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mlen\u001B[39m(lb\u001B[38;5;241m.\u001B[39mclasses_) \u001B[38;5;241m!=\u001B[39m y_pred\u001B[38;5;241m.\u001B[39mshape[\u001B[38;5;241m1\u001B[39m]:\n\u001B[0;32m   2902\u001B[0m     \u001B[38;5;28;01mif\u001B[39;00m labels \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[1;32m-> 2903\u001B[0m         \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\n\u001B[0;32m   2904\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124my_true and y_pred contain different number of \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m   2905\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mclasses \u001B[39m\u001B[38;5;132;01m{0}\u001B[39;00m\u001B[38;5;124m, \u001B[39m\u001B[38;5;132;01m{1}\u001B[39;00m\u001B[38;5;124m. Please provide the true \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m   2906\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mlabels explicitly through the labels argument. \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m   2907\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mClasses found in \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m   2908\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124my_true: \u001B[39m\u001B[38;5;132;01m{2}\u001B[39;00m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;241m.\u001B[39mformat(\n\u001B[0;32m   2909\u001B[0m                 transformed_labels\u001B[38;5;241m.\u001B[39mshape[\u001B[38;5;241m1\u001B[39m], y_pred\u001B[38;5;241m.\u001B[39mshape[\u001B[38;5;241m1\u001B[39m], lb\u001B[38;5;241m.\u001B[39mclasses_\n\u001B[0;32m   2910\u001B[0m             )\n\u001B[0;32m   2911\u001B[0m         )\n\u001B[0;32m   2912\u001B[0m     \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m   2913\u001B[0m         \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\n\u001B[0;32m   2914\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mThe number of classes in labels is different \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m   2915\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mfrom that in y_pred. Classes found in \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m   2916\u001B[0m             \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mlabels: \u001B[39m\u001B[38;5;132;01m{0}\u001B[39;00m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;241m.\u001B[39mformat(lb\u001B[38;5;241m.\u001B[39mclasses_)\n\u001B[0;32m   2917\u001B[0m         )\n",
      "\u001B[1;31mValueError\u001B[0m: y_true and y_pred contain different number of classes 9, 2. Please provide the true labels explicitly through the labels argument. Classes found in y_true: [0 1 2 3 4 5 6 7 8]"
     ]
    }
   ],
   "source": [
    "# logloss模型评估\n",
    "from sklearn.metrics import log_loss\n",
    "\n",
    "log_loss(testY, pre, eps=1e-15, normalize=True)\n",
    "# 注意，运行会报ValueError: y_true and y_pred contain different number of classes....错！原因：\n",
    "#logloss使用过程中,必须要求将输出用one-hot表示，需要将这个多类别问题的输出结果通过OneHotEncoder"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:58:33.043389600Z",
     "start_time": "2023-12-19T08:58:32.092098800Z"
    }
   },
   "id": "bfcf5abba86793b1"
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\preprocessing\\_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\preprocessing\\_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\preprocessing\\_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\preprocessing\\_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
      "  warnings.warn(\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import OneHotEncoder\n",
    "\n",
    "oneHot = OneHotEncoder(sparse=False)\n",
    "\n",
    "testYTf = oneHot.fit_transform(testY.reshape(-1, 1))\n",
    "preTf = oneHot.fit_transform(pre.reshape(-1, 1))\n",
    "\n",
    "testYTf2 = oneHot.fit_transform(testY2.reshape(-1, 1))\n",
    "preTf2 = oneHot.fit_transform(pre2.reshape(-1, 1))\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:58:40.451337700Z",
     "start_time": "2023-12-19T08:58:40.415196200Z"
    }
   },
   "id": "3ebecb2a471524b4"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "testY"
   ],
   "metadata": {
    "collapsed": false,
    "is_executing": true
   },
   "id": "23c43b3a5f4726b5"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "testYTf"
   ],
   "metadata": {
    "collapsed": false,
    "is_executing": true
   },
   "id": "3ec69b4b5d7e605"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "testYTf2"
   ],
   "metadata": {
    "collapsed": false,
    "is_executing": true
   },
   "id": "bf90273b92512218"
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "7.816722789058401"
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log_loss(testYTf, preTf, eps=1e-15, normalize=True)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:58:48.013749100Z",
     "start_time": "2023-12-19T08:58:47.992999300Z"
    }
   },
   "id": "fa6a44a73882e8ef"
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "3.046838992797092"
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log_loss(testYTf2, preTf2, eps=1e-15, normalize=True)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:58:51.064256Z",
     "start_time": "2023-12-19T08:58:50.999439100Z"
    }
   },
   "id": "b65f587f3188d79e"
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [
    {
     "data": {
      "text/plain": "array([[0.      , 0.      , 0.      , ..., 0.      , 0.      , 0.      ],\n       [0.      , 0.02    , 0.98    , ..., 0.      , 0.      , 0.      ],\n       [0.      , 0.94    , 0.02    , ..., 0.      , 0.      , 0.      ],\n       ...,\n       [0.01    , 0.03    , 0.      , ..., 0.01    , 0.93    , 0.02    ],\n       [0.78    , 0.03    , 0.02    , ..., 0.05    , 0.05    , 0.02    ],\n       [0.      , 0.02    , 0.013125, ..., 0.      , 0.      , 0.93    ]])"
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 改变预测值的输出模式，让输出结果为百分比，降低logloss值\n",
    "\n",
    "pre_proba = rf.predict_proba(testX)\n",
    "pre_proba"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:58:56.915165800Z",
     "start_time": "2023-12-19T08:58:56.694289700Z"
    }
   },
   "id": "a27de0c37db692be"
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "outputs": [
    {
     "data": {
      "text/plain": "array([[0.03      , 0.        , 0.        , ..., 0.        , 0.        ,\n        0.97      ],\n       [0.        , 0.01      , 0.01      , ..., 0.86409524, 0.        ,\n        0.        ],\n       [0.15      , 0.03      , 0.02      , ..., 0.27      , 0.01      ,\n        0.2525    ],\n       ...,\n       [0.        , 0.        , 0.56      , ..., 0.28      , 0.        ,\n        0.        ],\n       [0.09      , 0.26      , 0.11      , ..., 0.14      , 0.16      ,\n        0.1       ],\n       [0.87      , 0.01      , 0.        , ..., 0.07      , 0.05      ,\n        0.        ]])"
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pre_proba2 = rf.predict_proba(testX2)\n",
    "pre_proba2"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:59:01.248960300Z",
     "start_time": "2023-12-19T08:59:00.078710800Z"
    }
   },
   "id": "2bb24a536b679275"
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "0.1983441661970818"
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log_loss(testYTf, pre_proba, eps=1e-15, normalize=True)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:59:03.937077Z",
     "start_time": "2023-12-19T08:59:03.898439300Z"
    }
   },
   "id": "c871ded4eb36b3d1"
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "0.381460781915875"
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log_loss(testYTf2, pre_proba2, eps=1e-15, normalize=True)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T08:59:05.874553300Z",
     "start_time": "2023-12-19T08:59:05.821217900Z"
    }
   },
   "id": "f2089a13dbb73c8a"
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 4.模型调优，超参数调优"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "e78cafbe42defddc"
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 4.1.可以调优的参数：n_estimators,max_feature, max_depth, min_samples_leaf"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "bb2c8b68ea68bec5"
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 4.1.1. 确定最优的 n_estimators"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "8021461f3dff8da7"
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\ensemble\\_forest.py:578: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable OOB estimates.\n",
      "  warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\ensemble\\_forest.py:578: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable OOB estimates.\n",
      "  warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\ensemble\\_forest.py:578: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable OOB estimates.\n",
      "  warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\ensemble\\_forest.py:578: UserWarning: Some inputs do not have OOB scores. This probably means too few trees were used to compute any reliable OOB estimates.\n",
      "  warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n"
     ]
    }
   ],
   "source": [
    "# 确定n_estimators的取值范围\n",
    "tuned_parameters = range(10, 200, 5)\n",
    "\n",
    "# 创建添加accuracy的一个numpy\n",
    "accuracy_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# 创建添加error的一个numpy\n",
    "error_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# *******************调优过程实现*******************\n",
    "for j, one_parameter in enumerate(tuned_parameters):\n",
    "    rf2 = RandomForestClassifier(n_estimators=one_parameter,\n",
    "                                 max_depth=10,\n",
    "                                 max_features=10,\n",
    "                                 min_samples_leaf=10,\n",
    "                                 oob_score=True,\n",
    "                                 random_state=0,\n",
    "                                 n_jobs=-1)\n",
    "    rf2.fit(trainX2, trainY2)\n",
    "    #输出accuracy\n",
    "    accuracy_t[j] = rf2.oob_score_\n",
    "    #输出log_loss\n",
    "    pre2 = rf2.predict_proba(testX2)\n",
    "    error_t[j] = log_loss(testY2, pre2, eps=1e-15, normalize=True)\n",
    "    # print(error_t)\n",
    "\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:02:22.933164500Z",
     "start_time": "2023-12-19T13:59:08.153892600Z"
    }
   },
   "id": "3413410887291b6a"
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 2000x400 with 2 Axes>",
      "image/png": "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y8XmzZvZv38/tbW17Ny5E7fb7beAZsyYwWeffXbI+vj4eG6//XZmz57N+PHj2bNnD9dddx02m42MjIwWD5vNRmpqKhEREbzwwgs4nU5++tOfMnr0aEaPHs0vfvELv8UvbVNY5QRUgBHpKmLD7ZyYEQPApztKAhyNiIiIyPHJqajjm33lAMwYduSW1yIiIiIih3PUOWAqKir47W9/i9frpaSkhN/85jfNc7F4PB6WL19OTU0NX375JV6vl9ra2jYFkJWV1WJ52bJlR9x25syZTJgwgd27dzNmzBgiIg4/v8DBx/jHP/7RpnikY2kEjEjXc1b/RFYfqODTncVcPSYj0OGIiIgEjZqaGq655prm5aqqqhbL4PuMJcFjySbf3C/jesWSHhMW4GhEREREpLM5agEmMTGR999/n82bN/PII4/wv//9j/PPPx+AwYMH8+KLLzJo0CBeeOEF3G43mZmZfg04MzPT7+eQjtM8B0ykCjAiXcWZ/RN49JNdrM+ppKTGSUKEI9AhiYiIBAWHw8HVV1/dvHzw103q6+t56KGHjnqs7du3c/vtt7N//34uu+wyfve737WqpZnX6+Wqq67i3HPP5Wc/+xkApmly77338t577+H1ejn77LO59957D5mfprvxeE2WbMoH4MLhaQGORkREREQ6o6MWYJoMGDCAefPmATB79mwAxo8fz+TJk6muriYnJ4dBgwb5J0rpsjQCRqTrSY0OZUhqFFvyq/hsVwmXjNAFCxEREQC73c555533g9vU1tYetQDjdDqZM2cOEyZM4IknnuDBBx9k4cKFXHrppUeN4ZVXXqGqqopZs2Y1r3vzzTfZs2cPixYtorq6mjvuuIOnnnqKX//61617Y13U13tLKax2EhNq48x+CYEOR0REREQ6oaPOAXOwiy66iLy8PDZv3gzA3/72NwzDYPPmzVx33XWsWrXKL0FK16UCjEjXNLG/7yLFJzuKAxyJiIhIcHK5XHg8Hrxe7yGPo/n888+prq7m9ttvp2fPnsydO5cFCxYcdb+CggKeeOIJ7rzzTux2e/P6DRs2cN5555Gens7AgQM5++yz2b9//3G9v67gzY2+0S/ThqbgsLXpo7OIiIiICNCKETAul4trr72W66+/npCQELxeL19++SWPP/445eXlPP744wAMHz6cOXPm8N///peRI0f6PXDp/OpdHsrr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2Hf06NGuCd7N1ZTb2sZcw6h9zEB1NeW1rtwx5tZfTbk9XdWYaxgG42491fZzz1gLeBbqJnNQMzUc6qYLQ91kDmom81A3mYOayRzuUjMxBRlM0b9/fw0dOtTxODk5WW3bttUvv/yiiooK3X777erevbseffRRHThwwIWRep7acrhnzx716NFD/v7+kqSYmJhqt9Oi/kpKSvTxxx/rscce086dO1VeXq5+/frp8ssv15/+9Cfl5eW5OkS3N3nyZD3wwAPVnqvrM5qUlKS4uDhZLBZJUvfu3bVr166GDdpD1JTb2sZcqfYxA9XVlNe6cseYW3815fZUp465khh366m2n3vGWsCzUDeZg5qpYVA3XTjqJnNQM5mHuskc1EzmcJeaiQYMTGe325WYmKh77rlHv/76q9q1a6fp06dr6dKl8vb21vjx410dokepLYeFhYVq06aNYz+LxSKr1coAfB6WLVum7t27q02bNtq/f786d+6sf/zjH5o/f74yMjI0Y8YMV4fo9iIjI894rq7P6OnbAgMDdfjw4QaJ1dPUlNtTnTrmSrWPGaiuprzWlTvG3Po722f21DFXEuPueTj1556xFvBc1E3OQ83UMKibLhx1kzmomcxD3WQOaibzubJmogED0/3973+Xv7+/hgwZottuu02LFy9WbGysoqOj9fLLL2v9+vUqLCx0dZgeo7YcVlRUyGazVdvX19dXxcXFLorUc33++ee69957JUmPPfaYEhMT1blzZ8XExOj555/XypUrXRyhZ/Ly8qr1M3r6Nj675+/UMVeqfcxg3D27unJX1+cZ5+bUMVdi3D0fp/7cM9YCnou6yXmomRoGdZM5+F1uPmom56JuMh8104VzZc1EAwam2rBhgz799FPNmDFDPj4+Z2wPDw9XRUUFV2xcgKocNmvWTDk5OdW2FRUV1Zh31C41NVVpaWm66qqratweFham3Nxc2e32Bo7M8wUHB9f6GT19G5/d83O2MVdi3L0Qp+aurs8z6u9sY67EuHs2p//cM9YCnom6yVzUTM5H3WQefpebi5rJfNRNzkXNdOFcXTPRgIFp0tPTNXr0aE2YMEEdO3aUJL3++utatmyZY5/t27fLarWqZcuWrgrT49SWw5iYGO3YscPxfHp6uux2u4KDg10Qpef697//rWuvvdYxuD777LPaunWrY/uOHTvUrFmzMzrlOLtu3brV+hk9fdvPP/+siIiIhg/Sg9U05kqMuxeirtzV9XlG/Z0+5kqMu+eipp97xlrA81A3OR81k/mom8zD73LzUDOZg7rJXNRMF8YdaiYaMDBFcXGxRo0apQEDBui6665TUVGRioqKFBMTo//7v//Thg0b9N133+nll1/W7bff7lj0CGfXuXPnGnPYt29fFRYWatGiRZKk2bNn66qrrpKXl5eLI/Ys//3vf9W7d2/H40svvVRTp07V1q1btWrVKv31r3+tdtsn6q9Xr161fkYTEhK0bds2rV+/XqWlpfrggw8UHx/v4og9R21jrmEYtY4ZjLtnV1fu6vo8o/5OH3Mlxt36qu3nvmfPnoy1gAehbjIHNZP5qJvMQ91kDmom81A3mYua6fy5S81kMQzDcMYbAk61atUqPfnkk2c8v3r1as2fP1/z5s2Tl5eXbr31Vj333HMKCAhwQZSea8aMGTXmcPXq1Ro9erR8fX1ltVo1d+7cald1oG7FxcXq2bOnvvzyS3Xo0EGSVFpaqpdffln//ve/1aRJE91zzz0aNWqUvL29XRytZ4iJidHq1asdC5jV9RmdN2+eXnvtNQUEBKhp06aaP3++mjVr5srw3dqpua1rzG3Tpk2tYwbOdPpntq7cMeaem9NzW9OYKzHu1lddP/dJSUmMtYCHoG4yDzWTeaibnI+6yRzUTOahbjIHNZNzuUvNRAMGaGSOHDmiXbt2qUePHgoNDXV1OMAZ6vqMpqena//+/erZs6eaNGniogiB+mPMhbtirAWA2vH7G56A3+VoTBh34Y4aapylAQMAAAAAAAAAAOBkrAEDAAAAAAAAAADgZDRgAAAAAAAAAAAAnIwGDAAAAAAAAAAAgJPRgAEAAAAAAAAAAHAyGjAAAAAAAAAAAABORgMGANBoHTt27LyOO3jwoObOnavjx49LklJSUvThhx9KknJycmS328/6Gl9//XW99gMAAAAAV6JuAgDz0IABADRK//vf//TAAw84vswPHz5cCQkJGjRoULV/ffv21YwZM6odu27dOv3zn/+Ut7e3JOno0aP69NNPJUkTJ07UO++8U+e5//Wvf+mVV17Rnj17tGHDBv3yyy817rd//34tXLhQktS5c2fl5+drzpw52rdvnzZs2KA//vGPF5QDAAAAAKgLdRMAmIsGDACgRosXL9bw4cNdHcZ569u3r0JDQ/X2229Lknx8fPTqq69q+fLlGjdunGbNmqXly5frwQcflI+PT7VjFy1apGHDhslms0mSvLy8FBAQIEl64YUXtHTpUuXm5tZ43rlz52ru3LlatGiRunfvrkOHDun+++/XokWLztg3JCREs2fP1q5du+Tt7a2SkhLNmTNHERER2rVrl5o2berEjAAAAABwNuom6iYAqAsNGAC4iMXExCgjI6PGbYMGDdJ7773XYOczw4QJE9SuXTtJktVqlWEYstvtWrx4sXbv3u24ystisTiO2bJli3788Uf17du32mt5eXlJklq3bq0VK1YoJCTkjPO9/PLLevXVV2WxWPSnP/1Jd9xxhz766CPZbDaNHz9ef/vb36rtv3//fg0ZMkSZmZmyWCxat26d4uPjtX//fm3YsEG///3vHfsWFxc7JScAAAAAzg11E3UTAJwvb1cHAABwTzabzXElk6ex2+3y8fFRx44d1bFjR0mVhcSxY8d04403Ki8vT5s3b9batWsdhUaVmTNnSpJ++OEHPfLII7LZbLLb7crNzVVCQoJjv9LSUk2dOlXx8fGO54YNG6ZbbrlFdrtdzzzzjJYvX66WLVtKqixQysrKqp3rp59+UkpKij744APZ7Xb98MMPMgxD33//vbZu3ark5GTNmjVLWVlZCgkJ0TfffOO4ogwAAACA61E3UTcBQF24AwYA3MSmTZuUkJCg1atXq3///urdu7c++eSTsx63c+dODRkyRFdeeaWeeuopFRQUOLYtX75cCQkJuvzyy/Xoo48qJydHknTjjTcqJiZGkjRgwADFxMToq6++qva6Nd1KHxMTo8mTJys2Nlbvvfee7rjjDvXr10+ZmZmSpAULFujaa69VbGysnnrqKRUVFdXrfCtWrNANN9yguLg4vfLKKyopKXFsS0hI0Pr16zVjxgz17dtXe/fudWz75z//qfj4eMXGxurZZ591HPfss88qISFBXbt2dcwjbLFYFBYWpjVr1ui6667TK6+8oqlTp1Z7f19++aWOHDmiZs2aKTY2VmvXrtXq1av14osvKjY2VoMHD9bNN9+sNWvWaO3atY4rre655x7169dPjz32mMaOHavRo0ertLRU999/vxISEpSQkKAXXnhBf/nLX9SvXz9t27ZNUuX8ymFhYerWrZsCAgJks9l09dVXKywsTMHBwVqzZo3WrFmj4OBgLVu2jCICAAAAFz3qJuom6iYAnoQGDAC4kWPHjun999/XP/7xDz399NOaNm1atS/Vp8vPz9cf//hH9evXT0uXLlVhYaGmTZsmSSosLHR8qV2+fLm8vLyUmJgoSVq4cKG2bNkiqfLL85YtW3T99dfXK0Y/Pz899NBDevvttzVhwgT5+/vr+++/1969ezVx4kS9+uqr+vrrr5Wbm6vPPvvsrOfbuXOnxo4dqz//+c/67LPP9NNPP+nNN9+sds6ZM2fq0KFDevPNN9W6dWtJ0r59+zR9+nS99dZbWrJkidLS0rRkyRJJ0rvvvqu1a9cqMjJSvr6+kqTy8nIdOHBAt912m9auXaspU6bo/vvvd5yjoqJC77zzjqZMmSJfX19ZLBb5+PjIYrEoJSXFcUVWFW9vb8ft9R999JFWrVqlpUuXKjY2VldffbW2bt2qmTNn6u2335a3t7fGjh3rKAwuv/xylZaWauTIkcrNzdWsWbNks9n0wAMPaNmyZUpMTFROTo5OnDih0tJSFRUV1XjrPgAAAHAxom6ibqJuAuApmIIMANzI8ePHNXHiRHXq1Elt27bV5MmTdfToUceX59OtW7dOPj4+euqpp2SxWPTII4/ohRdekPTbF93S0lK1aNFCs2bNUkVFhSQpMDDQ8RqBgYEKCgqqd4x33HGHfvjhB1122WW6/PLL1aJFC5WVlSkqKkrfffedfH19tXPnTpWVlSk5Ofms51u4cKFuvfVWDRw4UFLlYo2PPPKIXnzxRcccw4GBgXrjjTeqxVF1m39paanatGmjBQsW1Bhv1Zf90tJSRUVFac6cOY5CwW63a/78+ZIqb7X/7LPP1KxZszNeIykpyXFLfk28vb315Zdfavbs2brrrrs0aNAgvfHGG/riiy/07LPPavbs2Ro1apRWrlypxx9/XB07dpTVatX06dMVHBysV155RU8++aSio6M1fvx4jRs3Tv369dOOHTvUsmVLRUZGymrlmgkAAABAom6SqJuomwB4ChowAOBGgoOD1blzZ0m/fVE2DKPW/Q8dOqScnBz16tVLUuXVSEVFRSopKZGfn5/++te/6oMPPtDkyZN15ZVXavz48YqMjLygGKuujKr6b5Xi4mKNHz9eW7duVefOnWW1Wh2FS10OHjzoiF+SoqKiVFxcrJycHIWHh0vSGbf0S1JkZKQmTZqkGTNmKC0tTVdffbVeeuklhYWFVdvPbrdr3759KiwsVNOmTZWQkKB27dqpqKhIHTt2VI8ePRz71lRE2O12/fe//9Xw4cO1YcOGM7YbhqExY8aotLRUTz/9tObOnaslS5boD3/4g7744gt9+umnGj16tD7//HPNnj1bgwcP1ocffqjevXtrxIgROnLkiLKzs9WyZUt99NFHysrK0rfffqtVq1Zp9erV6tKli2JjY8+aRwAAAOBiQd1E3UTdBMBT0IABADdy6hVP9XHJJZeoa9eueuuttyRVfqktLCyUt7e3cnNz1axZM82bN08lJSWaMGGCXnvtNb333nuO4y0WS52Fyrn4+OOPVVBQoO+++04+Pj6aPn26Y+7kus7XsmVLpaenOx6np6fLz8+vWkHg7+9/xvmysrLUrVs3DRkyRAUFBXr66af17rvv6qWXXqq239ixY9W9e3fH7fA2m02LFy/W+vXra73661QrVqyQj4+PYmNjqxUShmHIYrHIYrFo5syZjvd26aWXqkmTJlq+fLnuu+8+9enTRzNnztTXX3+tq666SiNGjHAULEuWLNG//vUvbdu2TVOnTtU333yjzz//XM2bN9dNN92kQYMGafv27Xr88cfPGicAAABwsaBuom6ibgLgKbgvDwA82LXXXquDBw9q586d8vPz08qVKzVixAgZhqHs7GwNHz5c3377rXJzcyVVzud7qqioKH377bfKyspyzDV8voqKimQYhnJycrRs2TLNmzfvjKKhpvMNGTJEy5Yt06pVq7R//35NmzZNQ4cOddxGX5u9e/fqkUce0ffff+9YtLKsrMyx3W6369ixY4qIiFBCQoKCg4MVEhKi0tJS3XHHHZo0aVKd80RLlVMbzJgxQw899JDjlvwq8+fP1+uvvy5JjlhnzJihxx57TKNGjVJZWZk+++wzjRw5UlOmTNHs2bN16NChM64WS0lJ0Y8//qgnn3xS06ZN01133SVJCgkJUXx8vDIzM9W/f/864wQAAABQO+om6iYAcBUaMADgwYKCgvTuu+8qMTFRAwcO1IoVKzRr1ix5e3urQ4cOeuGFFzRx4kRdd911Sk5O1vPPP1/t+IkTJyoxMVEDBgzQ559/fkGxPPjgg7Lb7brxxhu1ePFi3XXXXdq9e/dZz9etWzdNmzZNb7zxhu6991517dpVo0ePPuv54uPjNXToUD3zzDO64YYbZBhGtSueysrKdPvtt2vGjBn65JNPNGjQIEnStm3btHjxYq1cuVKzZs3SwYMH5e1d/YbQqikJnnjiCVmtVj344IOSpICAAK1fv17z58/XJ598csZUAY8++qiWLFmixMRERUVFadKkSXriiSfUr18/rVq1SnffffcZ7+PPf/6zPvzwQ6Wmpqpr165688039f3332vFihXavHmzwsPDz5jHGQAAAED9UTdRNwGAq1gMZ91DCQCAG9q9e7ceeughff311465kSUpPz9f/fv3V0lJiRITE6vNp9y3b19NmjRJc+bM0YQJE9SpUydJ0rFjx/Txxx+ruLhYgYGBGj58uGNhzP/85z96++23deDAAYWFhalPnz66/vrr1bNnz1qvStuwYYO++uorbd26VU8//bRuvvlm7dmzR3//+9+Vnp6ud955RzabTffff7/atGmjd955R02aNDExWwAAAAAuRtRNAGAOGjAA4OZ69uxZ4/MdO3a84KuvLhZZWVmKiIg44/ktW7aoY8eOCg0NveBzlJaWKikpSe3bt1dAQEC9jlm/fr0OHz6sm2++2bF4aGZmptauXauhQ4fKx8dHklRQUKBNmzZp4MCBFxwnAAAA0BhRN1046iYAcD4aMADg5jIyMmp83sfHp8YvxwAAAABwsaFuAgC4IxowAAAAAAAAAAAATmZ1dQAAAAAAAAAAAACNDQ0YAAAAAAAAAAAAJ6MBAwAAAAAAAAAA4GQ0YAAAAAAAAAAAAJyMBgwAAAAAAAAAAICT0YABAAAAAAAAAABwMhowAAAAAAAAAAAATkYDBgAAAAAAAAAAwMn+PyXNl8ernKhGAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['font.sans-serif'] = ['Simhei']\n",
    "\n",
    "fig, axes = plt.subplots(nrows=1,  #一行两列\n",
    "                         ncols=2,\n",
    "                         figsize=(20, 4),\n",
    "                         dpi=100)\n",
    "\n",
    "axes[0].plot(tuned_parameters, error_t)\n",
    "axes[0].set_xlabel(\"n_estimators调优参数\")\n",
    "axes[0].set_ylabel(\"错误率\")\n",
    "axes[0].grid(True)\n",
    "\n",
    "axes[1].plot(tuned_parameters, accuracy_t)\n",
    "axes[1].set_xlabel(\"n_estimators调优参数\")\n",
    "axes[1].set_ylabel(\"正确率\")\n",
    "axes[1].grid(True)\n",
    "\n",
    "plt.show()\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:02:33.987334100Z",
     "start_time": "2023-12-19T14:02:33.506513200Z"
    }
   },
   "id": "a50fc30c261141d4"
  },
  {
   "cell_type": "markdown",
   "source": [
    "观察上图，n_estimators大概在158左右为最佳值"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "b66b6d9627554fbf"
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 4.1.2. max_feature 调优"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "bc59545a4f728c13"
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 2000x400 with 2 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABmAAAAFxCAYAAABk0GfxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACtrklEQVR4nOzdd3hUZfrG8e9k0hMS0iEQigRCKAlESFBZpYrUVSkKApYVROG3q6yrYEPB7qq77qorokhTkKKCCgpYQBSCQAgQCC2QAqSQ3tv8/kCysqAknMBJuT/XNdcyM+fN+8zNLObMM+97LDabzYaIiIiIiIiIiIiIiIjUGjuzCxAREREREREREREREWlo1IARERERERERERERERGpZWrAiIiIiIiIiIiIiIiI1DI1YERERERERERERERERGqZGjAiIiIiIiIiIiIiIiK1TA0YERERERERERERERGRWqYGjIiIiIiIiIiIiIiISC1TA0ZERERERERERERERKSWqQEjIiIiIiIiIiIiIiJSy9SAERERERERERERERERqWX2ZhdQX5w+nYfNduXntVjAx6eJafPXd8rPGOVnjPIzRvkZo/yMUX7GKD9jzM7v7PwiNWX2e1b/5lwa5WeM8jNOGRqj/IxRfsYoP2OUnzFm51fd8yY1YKrJZsPU/yOYPX99p/yMUX7GKD9jlJ8xys8Y5WeM8jNG+Ul9Y/Z71uz56zvlZ4zyM04ZGqP8jFF+xig/Y5SfMXU9P21BJiIiIiIiIiIiIiIiUsvUgBEREREREREREREREallasCIiIiIiIjUQQcPHmTkyJH07NmTl156CdtF9laYMWMGISEh592Sk5OpqKhg1qxZREREEB4ezhNPPEF5eTkANpuNHj16nDPmrbfeuhIvUURERESkQVMDRkREREREpI4pLS1lypQpdO7cmZUrV3LkyBFWrVr1u2NmzZrF9u3bq25z586lTZs2NG/enLlz57J//34+/vhjli5dysaNG6t+3rFjx/Dw8Dhn7L333nslXqaIiIiISINmagMmMzOTfv36kZycXO0xx48fJzIy8rzHp0yZcs43tu66666q56Kjoxk8eDBRUVHMnz+/NkoXERERERG5bDZt2kR+fj4zZ86kVatWTJ8+nRUrVvzuGBcXFzw8PKpuCxYsYNq0aVitVrKysnj11VcJDg4mNDSU66+/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Sg2YBsDZwcodV7cE4INtSVTolzcREREREZF64eyWY5OX7SY1r+SXLce6c4u2HGuwRnUL5OnBIVgt8Pm+VB7/fD+l5drNQkREpCFSA6aBuDW8OU2c7DmeVcT3hzPMLkdEREREREQu4pwtxyptVVuOdfDXlmMN3ZBOAbw0ohMOVgvfHMrgr5/uo6iswuyyREREpJapAdNAuDvZM6Z7IADvb0vSxfxERERERETqsP/dcmymthxrdG4I9uUft3TBxcGOrcez+L8Ve8gvKTe7LBEREalFasA0ILdHtMDFwY74tHx+OpZldjkiIiIiIiLyP2w2G4t/Tj5vy7FbteVYoxTZ2ot/jwqjiZM9u0/kMuXjWDILS80uS0RERGqJGjANSFMXB24Jaw7AB9sSTa5GREREREREfi3nly3H/vn9UW05JlXCAj34z5gwvF0diE/LZ/LSM805ERERqf/UgGlgxvdoiYPVwq6UXHYl55hdjoiIiIiIiAB7ftlybLO2HJML6ODvztzbwglo4sTxrCImLY0hKavI7LJERETEIDVgGhg/dyeGd24GwHytghERERERETHV2S3HJi3bzSltOSa/o7W3K/NuD6eVlwsnc0uYtGw3h9MLzC5LREREDFADpgGa0LMldhb46VgWB1LzzC5HRERERESkUfrfLcduDNGWY/L7mnk4M/e2cNr7uXG6oJT7Pt7NvpO5ZpclIiIil0gNmAaoZVMXbuzoD8AH0UkmVyMiIiIiItL4XGjLsWeHassxuTgfN0f+MyaMrs09yC0u54Hle/g5MdvsskREROQSmNaAyczMpF+/fiQnJ1d7zPHjx4mMjDzv8WXLltG7d286d+7M+PHjSUtLq3puypQphISEVN3uuuuu2ii/zrszMgiAbw5mkHC60ORqREREREREGocLbTn2vrYckxrycHbg36O6EtmqKYVlFfxl1R42HTltdlkiIiJSQ6Y0YDIzM5kyZQopKSnVHpOUlMTkyZPJyTn3wvI///wz//znP3n55ZfZuHEjNpuNl156qer5vXv3smbNGrZv38727dt56623au111GXBvm70CfbBBizYrlUwIiIiIiIil9v/bjk2MMSPBXd0J0RbjsklcHW08totXegT7ENphY1HVsfx1f60iw8UERGROsOUBsz06dMZNmxYjcZMmTKFMWPGnPf48ePHmT17Ntdeey3N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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 确定max_feature的取值范围\n",
    "tuned_parameters = range(5, 50, 5)\n",
    "\n",
    "# 创建添加accuracy的一个numpy\n",
    "accuracy_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# 创建添加error的一个numpy\n",
    "error_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# *******************调优过程实现*******************\n",
    "for j, one_parameter in enumerate(tuned_parameters):\n",
    "    rf2 = RandomForestClassifier(n_estimators=158,\n",
    "                                 max_depth=10,\n",
    "                                 max_features=one_parameter,\n",
    "                                 min_samples_leaf=10,\n",
    "                                 oob_score=True,\n",
    "                                 random_state=0,\n",
    "                                 n_jobs=-1)\n",
    "    rf2.fit(trainX2, trainY2)\n",
    "    #输出accuracy\n",
    "    accuracy_t[j] = rf2.oob_score_\n",
    "    #输出log_loss\n",
    "    pre2 = rf2.predict_proba(testX2)\n",
    "    error_t[j] = log_loss(testY2, pre2, eps=1e-15, normalize=True)\n",
    "    # print(error_t)\n",
    "\n",
    "fig, axes = plt.subplots(nrows=1,  #一行两列\n",
    "                         ncols=2,\n",
    "                         figsize=(20, 4),\n",
    "                         dpi=100)\n",
    "\n",
    "axes[0].plot(tuned_parameters, error_t)\n",
    "axes[0].set_xlabel(\"max_feature调优参数\")\n",
    "axes[0].set_ylabel(\"错误率\")\n",
    "axes[0].grid(True)\n",
    "\n",
    "axes[1].plot(tuned_parameters, accuracy_t)\n",
    "axes[1].set_xlabel(\"max_feature调优参数\")\n",
    "axes[1].set_ylabel(\"正确率\")\n",
    "axes[1].grid(True)\n",
    "\n",
    "plt.show()\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:13:33.139479800Z",
     "start_time": "2023-12-19T14:12:14.015723100Z"
    }
   },
   "id": "cc8340d87341c45d"
  },
  {
   "cell_type": "markdown",
   "source": [
    "观察上图，max_feature大概在15左右为最佳值"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "81f2150f4d00c11e"
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 4.1.3. max_depth 调优"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "46f9efae3f26d0f9"
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 2000x400 with 2 Axes>",
      "image/png": "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an23db+27CtVSIBVV53RzexyAAAAcAwEKW1M2sEF51flFqva5Ta5GgAAAADA4Q4djXLl6bEKDwowuSIAAAAcC0FKG9O7S6gigmwqq3Jp/e4DZpcDAAAA4BgyMzOVnp6ulJQUTZ8+XR6P55j7ezweTZkyRampqUpOTtakSZNUUVHhffzLL7/Uueeeq2HDhunTTz/1dfk4QavyirVuV4nsVkPXnBlndjkAAAA4DoKUNsZiGEphei8AAACg1XM6nRo3bpwGDBigjIwMZWVlad68ecc85uOPP9a2bdv04Ycf6t1339XmzZs1c+ZMSTWhzD333KM//elPeu211/T8889r69atLfFS0EhvHhyNcumpXdU51G5yNQAAADgegpQ2KDUhUhILzgMAAACt2eLFi+VwOPTAAw+oR48emjBhgubOnXvMY9auXatRo0ape/fu6tOnj8477zzl5ORIkubMmaO0tDSNGTNGffr00XXXXaePP/64JV4KGmHD7gNall0oqyGNTYk3uxwAAAA0AEFKG1S7TsrPu0rkqKw2uRoAAAAAR7Nx40YlJSUpODhYktSnTx9lZWUd85jExETNnz9f+/bt044dO/T5559ryJAh3vOdddZZ3n1PO+00rV+/3ncvACfkzRU1o1FG9euibhFBJlcDAACAhrCZXQCaX7eIIMVFBimvqEKr8op19smdzC4JAAAAwGEcDofi4n5dH8MwDFksFhUXFysiIuKox4wZM0azZ8/W0KFDJUnnnnuuLr/8cklSaWlpnfOFhYVp7969ja7LMBp9CBpo675SLdq8T5J0U2p8k/6ta4/leqE50a7gK7Qt+AptC03V0LZDkNJGpfaIUl7RLq3ILiRIAQAAAFohq9Uqu73u+hiBgYGqqKioN0h56623FB4erkWLFskwDD388MOaMWOGJk2adMT5as/VWJ06dWj0MWiYx7+pGXE0akCMUvt2bZZzcr3gC7Qr+AptC75C24KvEaS0UWkJkZq3dpdW5BSZXQoAAACAo4iIiNDmzZvrbCstLVVAQEC9x8yfP1933XWXunXrJkmaOHGirr/+ek2aNEkRERHav39/g89Vn4KCA/J4Gn0YjmNncYU+Xr1DknTt6d20b9+BJp3PMGo+NOJ6oTnRruArtC34Cm0LTVXbho6HIKWNOjM+UoakbQVl2nugUl06BJpdEgAAAIBDDBw4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VWhoqLp06aI9e/bIZvu1azV8+HDt3r1bX331lUaPHm1itWguh45GufL0WIUHBZhcEQAAAFpSg4KUjIyMOvddLpcefvhhSVK/fv20YcMG7dq1S3fffbeuu+463XPPPbLb7c1fLZrdtWfG6f3VO/XzrgNakVOktIQos0sCAAAAWq2KigrNnz9f8+bNkyRNmTJFmZmZiouL8+7z7bffaty4cXr++efNKhPNbFVesdbtKpHdauiaM+OOfwAAAADalAZN7bV161aNHTtWe/bskdPp1LZt2xQTE6Nt27Zp8uTJ+vnnn3Xfffdp586dmjdvHiGKH+kUatdlBxeaf31ZjsnVAAAAAK2bYRjKzs7WM888o/Xr18swDP3+97/Xk08+6b3FxMTolltuMbtUNKM3D45GufTUruocSn8XAACgvTnuiJTs7GzdcMMNuuCCCxQTE6PNmzdrzJgx6tSpkzwejwzDkMfjUWhoqP785z8zD7AfGpsSr4yfdmlVXrHW5BXr9LgIs0sCAAAAWq2oqCgFBwfrqaee0sqVK/Xdd9/pnXfe8T6ek5OjK6+8UsnJyZo0aZKJlaI5bNh9QMuyC2U1avpOAAAAaH8aNLXXXXfdpauuukpSzdywZ555pl577bUj9svNza0zpB3+IaZDoC45NUYfrt2t15fn6Pm4gWaXBAAAALRKTqdTISEhGjdunMaNG6fc3Fw9/fTT+u677/TII4/o9NNPlyS53e4666bAf725omY0ygX9uqhbRJDJ1QAAAMAMx31nn5CQoISEBO/9qKgoXXnllUfdNz6eb+f4qxtS4vXJut36fnuhNuw+oP5dO5hdEgAAANDqxMfH65NPPqlz/5lnntFHH32koUOHKjIyslHny8zM1AMPPOAdxXLffffJMIx69580aZI+/PDDI7YvXLhQnTt31n333afvvvtOdrtdl19+ue69915ZLA2a0RlHsbukQos275Mk3ZBKfxcAAKC9avA76qysLE2fPl3R0dF69tlnJUmFhYUqLCxUUVGRioqKVFhYqPz8fF/VCh+KiwzWBf26SJLeWM5aKQAAAMDRVFVV6dtvvz1i22WXXVYnRCkqKtLVV199zHM5nU6NGzdOAwYMUEZGhrKysryL2NdnypQpWrlypff2yiuvqGfPnoqNjdW//vUvBQQE6IsvvtArr7yir7766rjnw7F9t3W/JOn07uE6qVOoydUAAADALMcdkeJ2u/XTTz9px44dWrVqldavX+997NZbb1V+fr4KCgrUuXNneTwe7d+/X+vWrfNp0fCNm1J76PMNe/XfLQXakl+qxGg6CgAAAMChysrKNH78eK1evdq7bejQoVq8eLGCgn6d9skwDG3evPmY51q8eLEcDoceeOABBQcHa8KECXr00UeVnp5e7zHBwcEKDg723p81a5buvPNOWa1WrVu3Ttdee61iYmIUExOjIUOGKCeHL0k1xdJtNUHK0F4dTa4EAAAAZjpukOJ0OnX//ffLMAwVFBTowQcfVFFRkSTJbrfr22+/1SWXXKL58+dLki655BKfFgzf6dkpRCNPidbXmfl6Y3mOpl3cz+ySAAAAgFYlICDgiLVPLBZLnRCldj+r1XrMc23cuFFJSUneYKRPnz7KyspqcC1r165VXl6eRo8eLUlKTEzUnDlzdMYZZ2jPnj3673//q6eeeqrB56t1jJnF2pXKardW5hRJkoae1LHV/bvU1tPa6oJ/o13BV2hb8BXaFpqqoW3nuEFKUFCQ/vOf/ygzM1NPPvmkXn31VW9Ycqy5e+GfbjkrXl9n5mvBpnzdOiRBPTuGmF0SAAAA0Koc3g860X6Rw+FQXFxcnfNYLBYVFxcrIiLiuMe/8847uuaaa7xroNx2220aPXq0UlJSJEnXXXedzjrrrEbX1akT6yVK0v8256ui2q2Y8EAN7te11fZ/uV7wBdoVfIW2BV+hbcHXjhukVFVVKTMzU7t27VJZWZm2bNmi6urqlqgNJugdHaazT+6kxVkFmrUiV1Mu6GN2SQAAAECbZLVaZbfb62wLDAxURUXFcYOUoqIiLVy4UA8++KB323PPPadBgwZpypQpKi4u1r333qu3335bY8eObVRdBQUH5PE06pA26fM1OyRJZyVEqaDAYXI1RzKMmg+NuF5oTrQr+AptC75C20JT1bah4zlukFJcXKyJEyfK7XaroKBAd999t/bvr5kn1uVy6bvvvlNpaamWLFkit9utsrKyplcPU92SFq/FWQX6YsMe3To4Qd0igo5/EAAAANBOlJaW6oYbbvDeP3DgQJ37Uk1f6XgiIiKOWEeltLRUAQEBxz12wYIFSk5OrhO4zJ8/X++88446deqkTp066Y9//KNeeOGFRgcpHo/4IELS0oMLzQ/p1bFV/3twveALtCv4Cm0LvkLbgq8dN0jp3LmzvvzyS61fv15PPvmk3nzzTV1wwQWSpH79+umdd95R37599fbbb6u6ulrx8fE+Lxq+NSA2XGclRGlZdqHeWpmrSef1NrskAAAAoNWw2+267rrrvPcP/b1WRUWFpk2bdszzDBw4UHPmzPHez83NldPpbNC0Xl988YUuuuiiOtvcbrf3S2+StG/fPrnd7uOeC0fKKypXdmG5rBZDqT0izS4HAAAAJjtukFKrd+/emjFjhqSauXclaejQoRo5cqQcDod27Nihvn37+qZKtLhbzuqhZdmF+uTn3bolrYe6dAg0uyQAAACgVQgICNCoUaOOuU9ZWdlxg5SUlBQ5HA5lZGQoPT1dM2fO1JAhQ2S1WlVSUqLQ0NCjLlhfUVGhFStW6NFHH62zPTk5WU899ZRuvPFGFRUV6aWXXtJVV13V+BcILd1WKEk6vXu4wgIb3G0GAABAG2VpzM6XXXaZdu3apfXr10uSnn/+eRmGofXr1+uPf/yjVq5c6ZMi0fLOiIvQGd3DVeXy6J0f8swuBwAAAGiVqqqq5HK55Ha7j7gdj81m02OPPaapU6cqLS1NCxcu1D333COpJmTJzMw86nGrV69WRETEEbMBPProo4qOjtZjjz2mZ555RsOHD9cf//jHpr/IdmjptoPTevXsaHIlAAAAaA0atNj8jTfeqD/96U8KDAyU2+3WkiVL9PTTT6uoqEhPP/20pJph6ePGjdPrr7+upKQknxcO37vlrB76c8bPmrd2l25Ki1fHEPvxDwIAAADakSeffFJvvfWWDMOos93j8Sg8PPy4x48cOVILFizQ+vXrlZSUpKioKEnSpk2b6j1m8ODBWrJkyRHbu3btqpdffrmRrwCHq6hy6YfcIknSkJMIUgAAANCAIMXpdCo1NVXjx4+X1WrV/v37ZRiG7Ha7LBaL7PaaD9dPOeUUderUSW+99Zb+8Y9/+Lxw+F5aQpT6d+2gDbsP6N8/7tCdv+lldkkAAACAqVwul5xOp/f+bbfdprFjx8piqTvYv6ys7KhrpxxNdHS0hg8f3pxloglW5RWrstqtLmF2ndwpxOxyAAAA0AocN0gJDQ3V+PHjNXbsWD366KMaP368HnroIZ177rn6z3/+ozvvvLMl6oQJDMPQLWk9dM/H6zV3zU7dkBKn8KAAs8sCAAAATBMcHKyXXnrJe79z585H3a+4uLhO4AL/UTut19CTOh4x0ggAAADtU4PXSOnUqZOef/55/fnPf9awYcMkSbNnz/ZZYWgdfnNyR/WODlWp06X3V+80uxwAAADAVDabTYMHDz7ufmFhYXrvvfdaoCI0N9ZHAQAAwOEatdi8VLPgfEBAzaiE0NDQZi8IrYvFMHRzWg9J0nurdqjUWW1yRQAAAEDrZ7Va1bdvX7PLQCPlFJYrt6hCNouhlIRIs8sBAABAK9HoIAXtz4jenZUQFaySimplrNlldjkAAAAA4BO1o1FOj4tQqP24M2EDAACgnSBIwXFZLb+OSnn3xzxVVLlMrggAAAAAmt+S2vVRejGtFwAAAH5FkIIGGdU3Wt0igrS/rEofrdttdjkAAAAA0KwqqlxalVskSRrSK8rcYgAAANCqEKSgQWxWi25MjZckvb0yV85qt8kVAQAAAEDz+SG3SE6XR7HhgerVMcTscgAAANCKEKSgwS7uH6MuYXbtdTj16YY9ZpcDAAAAAM1m6bZCSdKQXh1lGIbJ1QAAAKA1IUhBg9ltFo1NqRmVMmt5jqpdjEoBAAAA4P88Ho93fZQhrI8CAACAwxCkoFEuG9hVHUMCtLOkUl9tzDe7HAAAAABosuzCcu0srlCA1VBKj0izywEAAEArQ5CCRgkKsOq6M+MkSW8sz5HL7TG5IgAAAABomqUHR6MMiotQcIDV5GoAAADQ2hCkoNHST49VeJBN2YXl+mbzPrPLAQAAAIAmWcq0XgAAADgGghQ0WqjdpqvP6C5Jen1ZjtweRqUAAAAA8E9lTpdW5RVLIkgBAADA0RGk4IRcdUY3hdqt2rKvVP/L2m92OQAAAABwQn7ILVKVy6PuEUFKiAo2uxwAAAC0QgQpOCERwQG68vRukqTXl+fIw6gUAAAAAH7o0Gm9DMMwuRoAAAC0RgQpOGHXntldgTaLNuw+oOXZhWaXAwAAAACN4vF4vEHKUKb1AgAAQD1MC1IyMzOVnp6ulJQUTZ8+/bgjGiZNmqQ+ffocccvLy2uhinG4jiF2XXFarCTp9eW5JlcDAAAAAI2zbX+ZdpVUym41dGZ8hNnlAAAAoJUyJUhxOp0aN26cBgwYoIyMDGVlZWnevHnHPGbKlClauXKl9/bKK6+oZ8+eio2NbaGqcTTXJ8cpwGpodV6xVuUVmV0OAAAAADTY0m01I+vPjI9UUIDV5GoAAADQWpkSpCxevFgOh0MPPPCAevTooQkTJmju3LnHPCY4OFjh4eHe26xZs3TnnXfKauXNrpm6dAjUpad2lSS9sYxRKQAAAAD8x5JD1kcBAAAA6mNKkLJx40YlJSUpODhYktSnTx9lZWU1+Pi1a9cqLy9Po0eP9lWJaIQbUuJlNaRl2YVav6vE7HIAAAAA4LhKndVak1csifVRAAAAcGw2M57U4XAoLi7Oe98wDFksFhUXFysi4vjz0r7zzju65pprZLE0PgcyjEYfguPoHhmki/rHaP76PXp9ea6evnxAk85Xe424VmhutC34Cm0LvkC7QlPRdoBjW5ldpGq3R/GRQYqPCja7HAAAALRipgQpVqtVdru9zrbAwEBVVFQcN0gpKirSwoUL9eCDD57Qc3fq1OGEjsOx3X1BX326YY8WZxVor9Oj/t3Cm3xOrhV8hbYFX6FtwRdoVwDgG0zrBQAAgIYyJUiJiIjQ5s2b62wrLS1VQEDAcY9dsGCBkpOTGzRy5WgKCg7I4zmhQ3EM4YZ0fp9o/Wdjvp75aqP+fkm/Ez6XYdR8aMS1QnOjbcFXaFvwBdoVmqq2DQE4ksfj0VKCFAAAADSQKUHKwIEDNWfOHO/93NxcOZ3OBoUjX3zxhS666KITfm6PR3wY4SM3p/bQfzbm6+tN+bptcIJ6dgpp0vm4VvAV2hZ8hbYFX6BdAUDzy9pXpr0OpwJtFg2KO7Ev6QEAAKD9MGWx+ZSUFDkcDmVkZEiSZs6cqSFDhshqtaqkpEQul+uox1VUVGjFihVKS0tryXLRQInRoRqe2EkeSW+uyDG7HAAAAAA4qtrRKMnxkQoKsJpcDQAAAFo7U4IUm82mxx57TFOnTlVaWpoWLlyoe+65R1JNyJKZmXnU41avXq2IiAjFx8e3ZLlohJvTekiSvvxlr/KKyk2uBgAAAACOxPooAAAAaAxTpvaSpJEjR2rBggVav369kpKSFBUVJUnatGlTvccMHjxYS5YsaakScQL6d+2gwT2j9P32Qr21MleTzz/F7JIAAAAAwMtRWa2fdpZIkob0ijK5GgAAAPgDU0ak1IqOjtbw4cO9IQrahlsOjkqZ//Me7TlQaXI1AAAAAPCrFdmFcrk9SogKVlxksNnlAAAAwA+YGqSgbTo9LkKD4iJU7fbo7ZW5ZpcDAAAAAF5LtxVKYlovAAAANBxBCnzilrNqRqV8tG63CkqdJlcDAAAAAJLH49HS7TXrowwlSAEAAEADEaTAJ1J7ROrU2A6qrHbr3z/mmV0OAAAAAGhzfqnyHU4F2Sw6Iy7C7HIAAADgJwhS4BOGYXjXSpm7ZpeKy6tMrggAAABAe7dkW81olJQekbLb6A4DAACgYXjnCJ8ZdlJH9Y4OVVmVS++v3mF2OQAAAADaue8PBimsjwIAAIDGIEiBzxiGoT8cXCvlvVU75aisNrkiAAAAoHXJzMxUenq6UlJSNH36dHk8nmPuP2nSJPXp0+eIW17er9PplpeXa+TIkfrqq698Xb5fOVBRrbU7SyQRpAAAAKBxCFLgU+f27qxeHUN0oLJac9fsNLscAAAAoNVwOp0aN26cBgwYoIyMDGVlZWnevHnHPGbKlClauXKl9/bKK6+oZ8+eio2N9e7zwgsvKCEhQaNGjfL1S/Ary7ML5fJIvTqFqFtEkNnlAAAAwI8QpMCnLIahm9LiJUnv/rhD5VUukysCAAAAWofFixfL4XDogQceUI8ePTRhwgTNnTv3mMcEBwcrPDzce5s1a5buvPNOWa1WSdLGjRv173//Ww899FBLvAS/Urs+ypCejEYBAABA49jMLgBt32/7dtErS7O1o7hCH67dpWvPjDO7JAAAAMB0GzduVFJSkoKDgyVJffr0UVZWVoOPX7t2rfLy8jR69GhJksfj0V//+ledccYZWrNmjZxOp/r27dvougyj0Ye0em6PR99vL5QkDTs5qk28xtrX0BZeC1oP2hV8hbYFX6Ftoaka2nYIUuBzNouhm1LjNW3BZr3zQ57Sk7op0MZgKAAAALRvDodDcXG/fsnIMAxZLBYVFxcrIiLiuMe/8847uuaaa2Sx1Ly3/vzzz7V27VpdfPHF2rZtm55++mnddNNN+r//+79G1dWpU4fGvRA/8POOYhWUOhVqt2rkaXGyt6H+SFu8XjAf7Qq+QtuCr9C24GsEKWgRowfE6NXvs7XX4dSn63crPamb2SUBAAAAprJarbLb7XW2BQYGqqKi4rhBSlFRkRYuXKgHH3zQu+3999/XBRdcoH/84x+SpOHDh+vGG2/U1VdfrbCwsAbXVVBwQMdZ897vfLY6T5KU0iNSJUWlJlfTPAyj5kOjtni9YB7aFXyFtgVfoW2hqWrb0PEQpKBFBFgtujE1Xk9+k6VZK3L1u1O7ymZtO98CAwAAABorIiJCmzdvrrOttLRUAQEBxz12wYIFSk5OrhO47NmzR1dccYX3/oABA1RVVaXdu3crMTGxwXV5PGpzH0Qs2VqzPsrgXh3b3Gtri9cL5qNdwVdoW/AV2hZ8jU+y0WIuPbWrOoYEaFdJpb74Za/Z5QAAAACmGjhwoNasWeO9n5ubK6fT2aBpvb744gudf/75dbbFxMSooqLCe3/Hjh0yDEPR0dHNVrM/Ki6v0s+7SiRJQ3pGmVwNAAAA/BFBClpMUIBV1yfXzAH95opcudzExAAAAGi/UlJS5HA4lJGRIUmaOXOmhgwZIqvVqpKSErlcrqMeV1FRoRUrVigtLa3O9osvvlivvfaa1q5dq+3bt2vatGk6++yzGxTMtGXLswvl9kgndw5R1/Ags8sBAACAHyJIQYtKT+qmiCCbcgrLtTAz3+xyAAAAANPYbDY99thjmjp1qtLS0rRw4ULdc889kmpClszMzKMet3r1akVERCg+Pr7O9jFjxujKK6/UX/7yF/3ud7+TYRiaNm2az19Ha7dkW820XkN7dTS5EgAAAPgr1khBiwqxW3X1oO6auTRbry/P0Xl9omUxDLPLAgAAAEwxcuRILViwQOvXr1dSUpKiomqmntq0aVO9xwwePFhLliw5YrthGLr99tt1++23+6xef+P2ePT9tkJJ0hCCFAAAAJwgRqSgxf3+jO4KtVuVta9Mi7cUmF0OAAAAYKro6GgNHz7cG6Kg+fyyx6HC8iqF2q1K6hZudjkAAADwUwQpaHEdgmy66oxukqTXl+fI42GtFAAAAADNb+nBab1SE6Jks9L9BQAAwInhnSRMcc2g7gqyWfTLHoeWZReaXQ4AAACANmipd30URvsAAADgxBGkwBRRIXZdkRQrSXrte0alAAAAAGheRWVVWr/rgCRpcE/WRwEAAMCJI0iBaa5PjpPdauinnSValVdsdjkAAAAA2pDvs/fLI6l3dKi6dAg0uxwAAAD4MYIUmCY6LFCXntpVkvT6shyTqwEAAADQlizdVjOF8JBejEYBAABA0xCkwFQ3pMbLajG0IqdI63aWmF0OAAAAgDbA5fboe+/6KAQpAAAAaBqCFJgqNjxIo/t3kSS9vpxRKQAAAACa7pc9B1RcUa2wQKsGdgs3uxwAAAD4OYIUmO7G1B6yGNJ3W/dr0x6H2eUAAAAA8HNLttaMRjkrIUo2i2FyNQAAAPB3BCkwXY+oYJ3fJ1qS9MYKRqUAAAAAaJql22vWRxnMtF4AAABoBgQpaBVuTushSfomc5+27is1uRoAAAAA/mp/mVMbdh+QJA3pGWVyNQAAAGgLCFLQKpzcOVTn9u4sj6Q3VuSaXQ4AAAAAP7Xs4GiUvl3C1Dks0ORqAAAA0BYQpKDVuCUtXpL01S97lV3AqBQAAAAAjVe7PsqQXoxGAQAAQPMgSEGr0Temg4b0ipLbI7303yyzywEAAADgZ1xuj5Zl14xIGcL6KAAAAGgmBCloVW45uFZKxqo8/ZBTZG4xAAAAAPzKz7tKVFJRrfAgm06NDTe7HAAAALQRBCloVZK6R+jc3p1V5fJo/Lyf9WNukdklAQAAAPATSw+uj3JWQpSsFsPkagAAANBWEKSg1XlsdF+dc0q0Kqrd+su8nxmZAgAAAKBBlnrXR2FaLwAAADQfghS0OoE2i2aOPVNDekapstqt8R8SpgAAAAA4tn2lTm3c65AkDWaheQAAADQjghS0SkEBVj152QAN6fVrmLIyp9DssgAAAAC0Ut9vqxmN0i8mTB1D7CZXAwAAgLaEIAWtVqDNohmXDtDQXh1VWe3W3R+u14pswhQAAAAAR1p6MEgZyrReAAAAaGYEKWjVasKU/t4wZcJHhCkAAAAA6qp2e7TsYD+B9VEAAADQ3AhS0OrZD4Ypw076NUxZTpgCAAAA4KB1O0vkqHQpIsim/l07mF0OAAAA2hiCFPgFu82i6Zf8GqZMJEwBAAAAcFDttF5n9YyS1WKYXA0AAADaGoIU+I2jhinbCVMAAACA9m5J7fooJzGtFwAAAJofQQr8Sm2Y8pvaMOXj9Vq2fb/ZZQEAAAAwyd4DldqcXypD0uAEghQAAAA0P4IU+B27zaInDg1TPiJMAQAAANqr7w/2BQbEdlBkSIDJ1QAAAKAtIkiBX7LbLJp+aX+dfXInOV0ewhQAAACgnVq6rWa63yE9GY0CAAAA3yBIgd8KsFr0xCX9dM4hYcr3hCkAAABAu1Htcmt59sEghfVRAAAA4CMEKfBrAVaL/n5JPw1PrAlT7vlovZZuI0wBAAAA2oOfdpao1OlSVHCA+sWEmV0OAAAA2iiCFPi9AKtFj1/8a5hy78eEKQAAAEB7UPu+f3CvKFkMw+RqAAAA0FYRpKBNODxMuefj9VpCmAIAAAC0aayPAgAAgJZAkII2I8Bq0d8PhilVB0emEKYAAAAAbdPukgpt2VcqiyGl9YwyuxwAAAC0YQQpaFNsB8OUc3t3/jVM2UqYAgAAALQ132+vGY1yamy4IoMDTK4GAAAAbZlpQUpmZqbS09OVkpKi6dOny+PxNOg4t9utq6++Wq+//rqPK4S/slktenx0X42oDVM+Wa/vthaYXRYAAACAZlS7PsqQXoxGAQAAgG+ZEqQ4nU6NGzdOAwYMUEZGhrKysjRv3rwGHTt79mwdOHBAY8eO9XGV8Gc2q0XTDglT7vtkg/6XRZgCAAAAtAVVLrdWZBdJkob2Yn0UAAAA+JYpQcrixYvlcDj0wAMPqEePHpowYYLmzp173OP27NmjZ555Rg899JACAhi6jWOrDVNGnlITptw/nzAFAAAArUtjR+pPmjRJffr0OeKWl5dXZ7/c3FwlJSX5snRTrdlRrLIqlzqGBOiULmFmlwMAAIA2zmbGk27cuFFJSUkKDg6WJPXp00dZWVnHPe7xxx9Xt27dtHv3bq1atUqDBg1q9HMbRqMPQQurvUbNca0CbDVhiqGN+jpzn+77ZIOe/F1//ebkTk0/OfxOc7Yt4FC0LfgC7QpNRdtp/WpH6g8bNkzPPPOMHnvsMc2bN0/p6en1HjNlyhRNnjzZe3/16tV6/PHHFRsbe8R+FRUVPqvdbEu21qyPMqRXR1lo7AAAAPAxU4IUh8OhuLg4733DMGSxWFRcXKyIiIijHrN69Wp9+eWXOuecc5STk6OXXnpJw4YN08MPP9yo5+7UqUOTakfLac5r9dKNKRr/3hp9tm6X7vtkg1667kyd1z+m2c4P/8LfAfgKbQu+QLsC2q5DR+oHBwdrwoQJevTRR48ZpAQHB3u/kCZJs2bN0p133imr1erd9tFHH2n37t0+rd1sS7fXro/CtF4AAADwPVOCFKvVKrvdXmdbYGCgKioq6g1SPvjgAyUlJWnmzJkyDENXXXWVzj33XF1//fU66aSTGvzcBQUH1MB17WESw6j50Ki5r9Vfz0+U01mtBZvyNe6dHzX90v46J5GRKe2Jr9oWQNuCL9Cu0FS1bQit14mO1K+1du1a5eXlafTo0d5thYWFevLJJ/XCCy/ommuuOaG6WvsAj13FFdpWUCarIZ3VM7LV1+srjFyEL9Cu4Cu0LfgKbQtN1dC2Y0qQEhERoc2bN9fZVlpaesx1T/bs2aOzzz5bxsFXFhsbq44dOyo3N7dRQYrHIz6M8BPNfa2shqG/XdRXkrRgU77u/2SDnrikn85J7Nx8TwK/wN8B+AptC75AuwLarhMZqX+od955R9dcc40sll+XvnziiSd04YUXntA0yLVaewD35Zaa0SiDEqJ0UhwjUlr79YJ/ol3BV2hb8BXaFnzNlCBl4MCBmjNnjvd+bm6unE7nMTsLMTExqqys9N4vLS1VcXGxYmKYngkNZ7PUDVMmzf+FMAUAAACmOJGR+rWKioq0cOFCPfjgg95t33//vX744QfNnz+/SXW19pFwX63bKUlKjY/Qvn0HTK7GPIxchC/QruArtC34Cm0LTdXQkfymBCkpKSlyOBzKyMhQenq6Zs6cqSFDhshqtaqkpEShoaF15viVpIsvvlgTJkzQkCFD1KNHDz333HM66aST1KdPHzNeAvxYbZhiSPoPYQoAAABMciIj9WstWLBAycnJ3sClsrJSU6ZM0d/+9jeFhIQ0qa7WPBLOWe3WyuwiSdLgnh1bbZ0tqTVfL/gv2hV8hbYFX6Ftwdcsx9+l+dlsNj322GOaOnWq0tLStHDhQt1zzz2SakKWzMzMI44ZOnSo7rnnHj3yyCO68MILlZ2dreeee8471RfQGDaLoUcv6qtRfaNV7fbo/vm/6L+b95ldFgAAANqRgQMHas2aNd77DRmpX+uLL77Q+eef773/008/KScnR3/5y1+UnJys5ORkSVJycrJ++OGHZq/dLKvzilVR7VbnULtOiQ41uxwAAAC0E6aMSJGkkSNHasGCBVq/fr2SkpIUFRUlSdq0aVO9x4wZM0ZjxoxpqRLRxtkshh65sGaar6825mvSp7/o7xf307m9GZkCAAAA3zuRkfqSVFFRoRUrVujRRx/1bktKStLXX39dZ7+RI0fqo48+UnR0tM9fS0tZur1mfZQhvaL4Uh0AAABajCkjUmpFR0dr+PDh3hAFaGm1YcqovtFyuT164NNftIiRKQAAAGgBJzJSX5JWr16tiIgIxcfHe7cFBgYqLi6uzk2S4uLiFBgY6PsX00KWbK0JUob2YpF5AAAAtBzTRqQArYXNYujRC/vKMAx9+ctePfDpL3r84n4awcgUAAAA+NiJjNQfPHiwlixZctxzH+sc/iivqFzZheWyWgylJvBlPAAAALQcU0ekAK2F1WLokQv66IJ+XeRyezT501/0TWa+2WUBAACgHWCkfsMs3VYoSUrqFq6wQL4TCAAAgJZDkAIcVBumXEiYAgAAALQ633vXR2FaLwAAALQsghTgEFaLoSkX9NFF/bvI5ZEmf/qLFhKmAAAAAKaqrHZrZU6RJNZHAQAAQMsjSAEOY7UYenhUH40+GKY8SJgCAAAAmGpVXpEqq93qEmbXyZ1DzC4HAAAA7QxBCnAUVouhv47qo9EDYrxhytebCFMAAAAAMyzZ+uu0XoZhmFwNAAAA2huCFKAeVouhv/72FF18MEx56LNf9N6qHaqocpldGgAAANCufL+9ZqF51kcBAACAGQhSgGOwWgw9dEiY8o9FWbpo5nL9Y1GWtheUmV0eAAAA0OblFpYrp7BcNouhlB6RZpcDAACAdshmdgFAa1cbpvSODtUHq3dqR3GF3lu1Q++t2qHk+AhdeXo3nXNyJ9ms5JIAAABAc1u6rWZar9O7hysskC4sAAAAWh7vQoEGsFoMXXtmnK4e1F3Lthcq46dd+m5rgX7ILdYPucXqHGrX7wZ21eWnxSqmQ6DZ5QIAAABtxpJtv66PAgAAAJiBIAVoBIthaEivjhrSq6N2l1Tow7W79NG63dpX6tRry3L05vIc/ebkTkpPilVqQpQsLIQJAAAAnLCKKpdW5RVLkoaeRJACAAAAcxCkACeoa3iQ/jisl/5vcIIWbd6njJ92aVVesf67pUD/3VKg+MggXZHUTRcPiFFkcIDZ5QIAAAB+58fcYlVWu9W1Q6B6dQwxuxwAAAC0UwQpQBMFWC36bd8u+m3fLsraV6p5P+3SZxv2KLeoQs99u1UvfbdN5/eJ1pWnd9OArh1kMEoFAAAAaJDaab2GntSR99EAAAAwDUEK0IxO7hyqe0cm6o7f9NJXG/dq7pqdyswv1Wcb9uqzDXvVp0uYrkyK1ah+XRQcYDW7XAAAAKDV8ng83oXmB/dkWi8AAACYhyAF8IEQu1WXnxarywZ21c+7Dijjp51asClfm/Y6NG3BZj23eKtG949RelI39erEFAUAAADA4bILy7WjuEIBVkMpPSLNLgcAAADtGEEK4EOGYWhgt3AN7Bau8cNP1vyfd2ve2l3KK6rQ+6t36v3VO3VmfITSk7ppeGInBVgtZpcMAAAAtAq1o1HO6B6hEDujuQEAAGAeghSghUQGB2hsSryuS47T8uxCZazZpf9tLdCPucX6MbdYHUMCdNnArrr8tFh1DQ8yu1wAAADAVEsPWR8FAAAAMBNBCtDCLIahwT07anDPjtpdUqGP1u3WR+t2q6DUqdeX5+rNFbkadlInpSfF6qyeUbKwqCYAAADamfIql1blFUuShrA+CgAAAExGkAKYqGt4kMYN7an/O6uH/rulQBk/7dQPucVanFWgxVkFiosM0hWnxeqSAV0VGRJgdrkAAABAi1iZU6Qql0fdIoKU0DHY7HIAAADQzhGkAK2AzWrReX2idV6faG0rKFPGTzv12YY9yiuq0POLt+nlJdt1Xp9opSd108DYDjIYpQIAAIA2rHZaryE9o3jvCwAAANMRpACtTK9OIbpnRKLu+E0v/WfjXs1ds0sb9zr0+Ya9+nzDXvWODtWVp3fTBX27sOgmAAAA2hyPx8P6KAAAAGhVCFKAVio4wKrfDYzVpad21YbdBzTnp136elO+NueX6u8LNuv5b7fqov4xuuK0WJ3cOYRv6gEAAKBN2L6/XLtKKmW3GkqOjzS7HAAAAIAgBWjtDMPQgNhwDYgN193nnKRP1+9Rxk87lVtUoTlrdmrOmp0KtFnUtUOgYiOC1D0iSLHhQYoND1S3iCB1iwhSVHAAQQsAAAD8wpKDo1EGxUcqKIAR2AAAADAfQQrgRyKCA3RdcpyuObO7VmYXae5PO/W/rftVWe1WdmG5sgvLj3pcoM2ibuFBio0IVLfwmnAl9uDPbuFBigi2EbQAAACgVfCuj9KLab0AAADQOhCkAH7IYhhK6xmltJ5RqnK5tedApXaVVGhXcaV2lFRoV3GFdpVUaGdxhfIdTlVWu7Vtf5m27S876vmCAyx1gpXYiCB1OziiJTY8SOFBBC0AAADwvVJntVbnFUuShhKkAAAAoJUgSAH8XIDVorjIYMVFBh/1cWd1TdCy85CAZUdxhXaV1IQv+Q6nyqvc2lpQpq0FRw9aQu1Wb6jinTLMG7gEqUMQf0oAAADQdD/kFKna7VFcZJB6RB39/S0AAADQ0vj0E2jj7DaL4qOCFV9PR7Sy2q3dJQdHsJRUaldxzUiW2vsFpU6VOl3anF+qzfmlRz1HWKC1zpRhsRFB6hJmV4jdqpAAq0Lttprf7VaF2q0KsFp8+ZIBAADgp2rXR2E0CgAAAFoTghSgnQu0WZTQMUQJHUOO+nhFlUu7Sw6OaCmp0M7iSm/QsqukQvvLquSodCkzv1SZ9QQthwuwGgoJsHrDlZAAm0Lt1jphS20I493HblNowFH2sdtkszDtGAAAgL/zeDxauq1QkjSYIAUAAACtCEEKgGMKCrCqZ6cQ9ex09KClvMrlXZ/l0OnD9h0cyVJe5VKZ06VSp0uV1W5JUpXLo2JXtYorqpulRrvVUMjBUS+hhwQwh4YtIQEWhdht6hQZrMpyp2wWQwFWy2E/f/3dZrUo4LDHbIfuZ7HIZjVkYe0YAACAZpFVUKY9ByoVaLPozLgIs8sBAAAAvAhSADRJcIBVJ3UK1UmdQo+7b7Xbo3KnS6XOapUdErCU1d6qan+v/nV71WH7HHysvMolp8sjSXK6PHKWV6movMrXL/cIVkM1oYvVkM1iORiyHBq61D72azhTZ7vVItvBMMYjjzweyaOamzweuWvve2peq/dxT+0Rh27z1P39YI012359TB7JffDx2uc59Dw65FirxZDVMGQ5WLfFMLzbrJaGPV677dDHLYZksxh1HrfW/rQYshry/n7448cagGQcFmwZdR47+vbDHzz8sWMdZ9RuMaQop1tFRWUHr83xznPYo8e+e8xjj3wtxz4X/IdhSCUeQ4WFv7Yr+J+okACFBwWYXQbgF74/OK3XmfERCgqwmlwNAAAA8CuCFAAtxmYx1CHI1myL01e53EcJW6rrBjRVdYMaWS0qLa9SlcutapdHVe7an56abW6Pql1uVbk8qj5kW9XBbYd/lunySK5qtyqrJcnVLK8LANB2BFgNzb7hzHqn0ATwq5U5RZJYHwUAAACtD0EKAL8VYLUoItiiiOCGfdPXMKTOnTto374DJ/ztbledwOVgEOP2qMrl8YYz1e6a0OXQx6pddfercnvqhDbGrwMbZBjGwZ812yyG8evjtY95H695rPa+cfCFHrrPoeczdOi5Dt4/5LkOf26X2yOXxyOX2yO3W6r2eOR2e+psd7lrRs4cvs17XO1jdbbV3j/GY4c87vbU/Hu53HUvnOeQC3n4JT30Gnvqe+Cwxw5vF3Ufq7/ReCRZLIbcbs+Jn6MJz13/ORjG4O8Mwzjm9UfrF9MhsNm+QAC0dYPiIlRcUa3f9ulidikAAABAHfTqAKARaqabYqoJ1NUcIR1wONoVgPbmprQeuimth9llAAAAAEewmF0AAAAAAAAAAABAa0WQAgAAAAAAAAAAUA+CFAAAAAAwSWZmptLT05WSkqLp06cfd12kSZMmqU+fPkfc8vLy5HK5NGXKFA0aNEhJSUl66KGHVF1d3UKvBAAAAGi7CFIAAAAAwAROp1Pjxo3TgAEDlJGRoaysLM2bN++Yx0yZMkUrV6703l555RX17NlTsbGxeuWVV/TLL7/ogw8+0HvvvaeFCxce93wAAAAAjo8gBQAAAABMsHjxYjkcDj3wwAPq0aOHJkyYoLlz5x7zmODgYIWHh3tvs2bN0p133imr1arCwkL94x//UGJiovr166ezzz5bGzZsaKFXAwAAALRdNrMLAAAAAID2aOPGjUpKSlJwcLAkqU+fPsrKymrw8WvXrlVeXp5Gjx4tSZo8eXKdx7dt26aLLrqo0XUZRqMPgQlqrxPXC82JdgVfoW3BV2hbaKqGth2CFAAAAAAwgcPhUFxcnPe+YRiyWCwqLi5WRETEcY9/5513dM0118hiOXKigWXLlmnz5s269NJLG11Xp04dGn0MzMP1gi/QruArtC34Cm0LvkaQAgAAAAAmsFqtstvtdbYFBgaqoqLiuEFKUVGRFi5cqAcffPCIx8rKyvTXv/5Vd9xxhzp27NjougoKDug4a96jFTCMmg+NuF5oTrQr+AptC75C20JT1bah4yFIAQAAAAATREREaPPmzXW2lZaWKiAg4LjHLliwQMnJyUcNXKZOnarY2FjdcsstJ1SXxyM+iPAjXC/4Au0KvkLbgq/QtuBrLDYPAAAAACYYOHCg1qxZ472fm5srp9PZoGm9vvjiC51//vlHbH/33Xf13Xff6emnnz7qlF8AAAAAGo931gAAAABggpSUFDkcDmVkZEiSZs6cqSFDhshqtaqkpEQul+uox1VUVGjFihVKS0urs33ZsmV64oknNH36dAUHB6u0tFQVFRU+fx0AAABAW9fupvYyDLMrwPHUXiOuFZobbQu+QtuCL9Cu0FS0ndbPZrPpscce08SJEzVjxgxZLBa9/fbbkmpClo8++kj9+vU74rjVq1crIiJC8fHxdba//fbbcjqduvnmm73bUlNTvedsKNqOf+D/E/AF2hV8hbYFX6Ftoaka2nYMj4fZ4wAAAADALPn5+Vq/fr2SkpIUFRVldjkAAAAADkOQAgAAAAAAAAAAUA/WSAEAAAAAAAAAAKgHQQoAAAAAAAAAAEA9CFIAAAAAAAAAAADqQZACAAAAAAAAAABQD4IUAAAAAAAAAACAehCkAAAAAAAAAAAA1IMgBQAAAAAAAAAAoB4EKQAAAAAAAAAAAPUgSIHpvv76a40cOVL9+/fX7373O2VlZUmSMjMzlZ6erpSUFE2fPl0ej8fkSuGv/vCHP2jevHmSpBUrVujCCy9UWlqa3njjDZMrgz978sknNW7cOO99/mahqebMmaNzzjlHSUlJGjt2rHJzcyXRtgAA9JnQMug3wRfoN6E50WeCmQhSYKqcnBxNnjxZEydO1OLFi9WzZ089+OCDcjqdGjdunAYMGKCMjAxlZWV539ABjfHJJ5/ou+++kyTt379ff/zjHzV69Gi9//77mj9/vpYtW2ZyhfBHGzdu1L///W89+OCDksTfLDRZTk6O/t//+3968cUX9cUXXyg+Pl6TJk2ibQEA6DOhRdBvgi/Qb0Jzos8EsxGkwFRZWVmaOHGiLrroInXu3FnXXHONfvnlFy1evFgOh0MPPPCAevTooQkTJmju3Llmlws/U1RUpOnTp6tXr16SajoHXbp00R133KGePXvqT3/6E+0KjeZ2u/Xwww/rpptuUnx8vCTxNwtNtmHDBiUlJWnAgAHq1q2b0tPTlZ2dTdsCANBngs/Rb4Iv0G9Cc6PPBLMRpMBU5557rn7/+99772/btk0JCQnauHGjkpKSFBwcLEnq06ePd/g60FDTp0/Xeeedp9NPP12StGnTJqWlpckwDEnSaaedpvXr15tYIfzR7NmzlZmZqe7du2vhwoVyOp38zUKTJSYmatmyZfrll1904MAB/fvf/9bQoUNpWwAA+kzwOfpN8AX6TWhu9JlgNoIUtBpOp1NvvPGGrr76ajkcDsXFxXkfMwxDFotFxcXFJlYIf7Js2TJ9//33uvfee73bDm9XYWFh2rt3rxnlwU+VlpbqhRdeUHx8vHbu3Kk333xT1157LX+z0GSJiYkaNWqULrvsMiUnJ2vNmjW6//77aVsAgDroM6G50W+CL9Bvgi/QZ4LZCFLQarzwwgsKDg7WmDFjZLVaZbfb6zweGBioiooKk6qDP6msrNSUKVP0yCOPKCwszLv98HZFm0JjLViwQOXl5Zo1a5buuusuvfHGGyotLVVGRgZ/s9Aka9eu1aJFi/TBBx/ohx9+0MUXX6xbb72V/x8CAOqgz4TmRL8JvkK/Cb5AnwlmI0hBq/D999/r3Xff1T/+8Q8FBAQoIiJC+/fvr7NPaWmpAgICTKoQ/uTFF1/UqaeequHDh9fZfni7ok2hsXbv3q2kpCR17NhRkmSz2dSnTx+VlJTwNwtN8umnn2r06NFKSkpShw4dNH78eOXm5vL/QwCAF30mNDf6TfAV+k3wBfpMMJvN7AKA3NxcTZw4UQ8//LASExMlSQMHDtScOXPq7ON0OhUREWFWmfAj8+fPV2FhoZKTkyVJFRUV+uKLLyRJZ5xxhne/DRs2KCYmxpQa4Z+6du2qysrKOtt27typyZMn65133vFu428WGsvtdquwsNB7v7S0VOXl5bLZbFqzZo13O20LANon+kzwBfpN8BX6TfAF+kwwGyNSYKqKigqNGzdOI0eO1Pnnn6/S0lKVlpYqOTlZDodDGRkZkqSZM2dqyJAhslqtJlcMf/Dvf/9b8+fP10cffaSPPvpII0aM0F133aVFixZp1apVWrp0qaqqqvSvf/1Lw4YNM7tc+JFzzjlHW7Zs0ezZs7V792699dZb2rhxo37729/yNwtNkpycrAULFujNN9/U/Pnz9ac//UnR0dEaO3YsbQsA2jn6TPAV+k3wFfpN8AX6TDCb4fF4PGYXgfbr66+/1h133HHE9oULF2rTpk2aOHGiAgMDZbFY9Pbbb3u/fQU0xqRJk5SamqorrrhCs2fP1rRp0xQSEqIOHTro/fffV+fOnc0uEX7kxx9/1IwZM7Rx40ZFR0dr8uTJGjFihBYuXMjfLJwwj8ejF198UXPnzlV+fr569+6tadOmqX///rQtAGjn6DOhpdBvQnOi34TmRp8JZiNIQauWn5+v9evXKykpSVFRUWaXgzYiNzdXW7duVXJyskJDQ80uB20If7PgK7QtAEB9+H8EfIV+E3yFv1vwBdoVfI0gBQAAAAAAAAAAoB6skQIAAAAAAAAAAFAPghQAAAAAAAAAAIB6EKQAAAAAAAAAAADUgyAFAAAAAAAAAACgHgQpAAAAAAAAAAAA9SBIAQCYorCw8ISPnTlzpnbv3i1J8ng8eu6557R//35VV1eroKDguMcvXbpU+fn5J/z8AAAAANAS6DcBQOtAkAIAaHHFxcW6+OKLtX37dknSP//5Tw0ePFgXX3xxndt5552n3//+93WOzcrK0rPPPqvS0lJJkmEYmjlzpsrLy/X+++/rrrvuksvlqve5f/nlF40fP17ffPONduzYoa+//vqo+5WWluqll16Sx+PRDTfcoK+//lrffvutFi5cKKfTqYsuukh79uxpnn8QAAAAADgM/SYAaD0IUgCgHcrLy1OfPn18dv558+Zp7Nix9T4eERGha665RpMnT5bb7ZbNZtNVV12lTz/9VM8884weeeQRffrpp3rqqacUEBBQ59iMjAydc845Ovnkk73bLBaLgoODddVVV6m8vFwrVqw46vOuXLlSd911l5577jn9/ve/V2FhoaZOnaqpU6eqqqqqzr7BwcH66aef9Pbbb8tmsykgIED/+te/FB4ero0bN6qkpERdunRpwr8SAAAAgNaMfhP9JgCoRZACAGiSESNGaPny5Y0+7tZbb9WQIUPk8XhksdT878jpdGrVqlX66quv5HQ6JdV8c6qWw+HQBx98oGHDhh1xvto37bNnz9bgwYOPeHz+/Pm68cYb5Xa79eyzzyo9PV2TJ0+W1WrVBx98oFtvvVXV1dXe/bdt26azzz5bwcHBKi4u1tq1axUdHa3S0lItW7ZMgwcP9tbmdDrrHAsAAAAAh6LfRL8JgH+zmV0AAKB9qa6ulsViUWBgoO68805J8nYIbr31Vm3ZskVVVVVaunSppk2bVufY1157TQcOHJDVatWQIUMUGBgowzBUVVWlSy+91Hsel8ul9PR03XXXXd5jhwwZopdfflnR0dG64447NHnyZI0YMUIWi0V79uzRokWLZLP9+r/FvLw8rVu3TmvXrtWWLVvUqVMnxcTEaNmyZVq7dq2ys7M1YsQIFRYWym636+mnn9bQoUN9/c8HAAAAoB2g3wQArQtBCgCYZOzYsYqLi9OiRYs0dOhQ2e12ffnll3rqqacUGRmpqVOnatu2berdu7eeeOIJJSYmau/evbrwwgv12muv6fTTT9fzzz+vpUuXavbs2XW+gXQ0ixYt0uOPP66SkpIjho+vXbtWU6dO1datWzV48GD9/e9/V4cOHfTCCy/op59+UkVFhX755RedffbZmjp1qsLCwvSHP/xB3333nSTphhtukCRNnDhRt912m/e8H3zwgZ599llJ0iOPPKLf/va3euONN/TOO++opKREEydO1PXXX++tfdasWZo3b542b96s+++/X2vWrPGea/v27XrnnXd02mmnSZL++9//KiAgQAUFBTr77LP1+OOP69lnn9UHH3wgt9vtne93+vTpmj9/vgICArydh7179+rxxx/X448/Xuff4eWXX9bYsWP1hz/8Qeecc47Ky8u1evVqnXrqqeratauCgoJ0ww03aMSIEfrqq6+UkJCg8ePH64ILLqAzAAAAAPgA/Sb6TQDQGjC1FwCYKC8vT0888YQ+/fRTDRgwQBdccIEWLVqkv/zlLzr//PP19ddfKyUlRdOnT5ckdenSRXfeeaeeeuopFRQU6K233tKUKVOO2xnYt2+f7r77bt1666364IMP9N///tf7WElJiW699VadffbZ+uSTT+RwOPTEE094H//f//6nK6+8UhkZGdqxY4f3Df4LL7yglStXKjY2Vi+//LJWrlypm266yXtcZmam/vOf/2j27Nm64oorvG++b731Vn377be65JJLFBgYKKnmm1CGYeimm27SP//5T33yySf63e9+p+zsbO/5Xn75Zd16663eOX7tdrsMw9D27dvVpUsXWa1W774Wi8U7R/D48eP19ddf6+uvv9Z1112n6Ohoffvtt/rggw/09NNPq1evXho9erQWLFighQsX6sYbb5Qk/b//9//05ptvatasWYqJidE555yjwsJCTZs2TYZhKCcnR5K0d+9e5vwFAAAAfIh+E/0mADAbQQoAmOiiiy5SYmKiJGnMmDHq1q2bnE6nPvzwQ916663atWuXSkpKtG3bNu8xY8eOVVFRkW6//Xb97ne/U79+/Y77PP/73/8UFxenq666SgkJCfrzn//sfaz2G0p33nmnunfvrltuuUXffPON9/FBgwbpsssuU8+ePXXrrbd6HwsJCVF4eLgsFov3d7vd7j2uvLxc06dPV0JCgtLT07Vr164j6qp9E19VVSW73a5nn31Wn3zyiRYuXKh33nlHcXFx3n3vv/9+/eEPfzjiHJs2bVJ8fHy9r91ut+vHH3/Uddddp7Vr1+qll17SV199pd/97nd677339NxzzykzM1NXX321li1b5q3p+uuv16xZs7Rs2TLZbDaNHDlSTz75pCorKzV27FitWrVKUk2nrmfPnse9BgAAAABODP0m+k0AYDam9gIAE9V+s+jQ3y0Wi958803NnTtX8fHxio2Nldvt9u5ns9l05ZVX6u9//7v+/ve/N+h58vPzFRsb671/6Bvo3bt3a//+/UpJSZEkud1ulZaWqrKyUpLqHBcTE6N9+/Y16DlPPvlkderUSZK833I6mg0bNsjhcCgmJkb333+/tm/frtDQUOXm5urVV1/17hcVFXXU4xcuXKizzjqr3vO/8847mjt3rm6//XZ99NFHGjNmjEaMGKE333xT69at0yWXXKLXXntNP/74o+6++27dfPPN+uMf/6jnnntOX3/9tQoKCtSxY0eNGDFCe/fu1YwZM9SnTx/dfffduuKKKxQcHKyOHTs26N8EAAAAQOPRb6LfBABmI0gBgFZmxYoVKi0t1eeff65OnTrp22+/1fr1672POxwOvf766xo2bJief/55vfDCC8c9Z8eOHbV3717v/UO/5dS1a1cNGDBAzzzzjCTJ4/HI4XB4FxDcsWNHneM6d+5c59yGYcjj8RzxnGFhYcet67333pPL5VJUVJTOOOMM2e12/e1vf9OZZ56ps88++7jH79ixQ8uXL9c999yjAwcOHHWfsWPHeucTTkxMVMeOHbVo0SLde++9CgsL04wZM7R//34VFxfryy+/VGRkpCTp4Ycf1tixY/WnP/1J8+fPV1FRkS677DINHz5cISEhCgoK0kMPPdSgOgEAAAA0L/pN9JsAoCUxtRcAtDKlpaWSaubg/fHHH/X3v/+9zhvuZ555RmeccYaef/55rVmzRosWLTruOYcNG6atW7fqww8/VE5OTp1OxPDhw7Vr1y6tXbtWQUFB+uqrr/R///d/3udcs2aNPvzwQ23fvl2vvvqqRo0aVefcPXr00JIlS7R37159//33DX6de/fuVXFxsZ577jmtWLFC/fv3V1VVlR5++GFdddVV3m92Hcvjjz+u1NRU9e/fv872LVu2aOzYsd5zGIahL7/8Un/+85915ZVXat26dfrb3/6mF154Qd98841uv/127du3T2FhYbJYfv1f488//6zAwEDdfPPN+vOf/6zf/va3CgkJkSTvkPb09PQGv2YAAAAAzYN+E/0mAGhJjEgBgFZm2LBhkqQrrrjCOz/vP/7xD+3bt087d+7UvHnz9Omnnyo0NFT33nuvpk6dqrS0NO8b1aPp2rWrnnrqKc2YMUOVlZW69NJLtXr1aklSeHi4XnzxRU2dOlWTJ09WYmKiXnrpJe83q84991zNmTNHf/vb33TuuefqjjvuqHPu++67T/fdd59ef/11JSUlafDgwQ16nQMGDNBDDz2kr7/+Wv3791dcXJxefvnlOvt88cUX3jpqud1uud1uPf300/r222/13nvvSaqZe3j79u3697//rSVLlsjhcNSZAuC8887TgAEDFBUVpR9//FHvv/++lixZoksuuUQLFiw46jDzSy65RL/97W81efJk7dmzR2vXrtUrr7yic845RzNnztSZZ56pxx57TDNnzlRoaGiDXjcAAACApqPf9Cv6TQDge4bnaOMKAQCQ9MILL2jHjh164oknfHL+iooK/fa3v9W0adP0m9/8ps5j1157rVatWqW7775bt99+u3f73XffrX79+mnTpk0655xzdOmll0qqGVo/a9Ys7dmzRwEBAbr00ku9C1Lu2rVL9957r3bu3Cm32620tDQNHz5cI0eOrLPQ46GysrL0ySef6Msvv9TFF1+scePGqaysTC+88IK++uorTZs2TUOGDNEdd9yhrVu36v/9v/+nU045xSf/TgAAAABaL/pN9JsAtH0EKQDQRiQnJx91e2JiovfbR43l6w6BJO3Zs0cxMTFHbN+4caNCQ0PrLPDYFBs3blSXLl0avMDhrl279Nlnn+mKK67wHuN0OvXWW2/V2eZ2u/XZZ59p9OjRdYa3AwAAAGh96DcdG/0mADg6ghQAaCPy8vKOuj0gIOCob7gBAAAAoL2h3wQAOBEEKQAAAAAAAAAAAPVgLB0AAAAAAAAAAEA9CFIAAAAAAAAAAADqQZACAAAAAAAAAABQD4IUAAAAAAAAAACAehCkAAAAAAAAAAAA1IMgBQAAAAAAAAAAoB4EKQAAAAAAAAAAAPUgSAEAAAAAAAAAAKjH/wfdBNnsfP6HnAAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 确定max_depth的取值范围\n",
    "tuned_parameters = range(10, 100, 5)\n",
    "\n",
    "# 创建添加accuracy的一个numpy\n",
    "accuracy_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# 创建添加error的一个numpy\n",
    "error_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# *******************调优过程实现*******************\n",
    "for index, value in enumerate(tuned_parameters):\n",
    "    rf2 = RandomForestClassifier(n_estimators=158,\n",
    "                                 max_depth=value,\n",
    "                                 max_features=15,\n",
    "                                 min_samples_leaf=10,\n",
    "                                 oob_score=True,\n",
    "                                 random_state=0,\n",
    "                                 n_jobs=-1)\n",
    "    rf2.fit(trainX2, trainY2)\n",
    "    #输出accuracy\n",
    "    accuracy_t[index] = rf2.oob_score_\n",
    "    #输出log_loss\n",
    "    pre2 = rf2.predict_proba(testX2)\n",
    "    error_t[index] = log_loss(testY2, pre2, eps=1e-15, normalize=True)\n",
    "    # print(error_t)\n",
    "\n",
    "fig, axes = plt.subplots(nrows=1,  #一行两列\n",
    "                         ncols=2,\n",
    "                         figsize=(20, 4),\n",
    "                         dpi=100)\n",
    "\n",
    "axes[0].plot(tuned_parameters, error_t)\n",
    "axes[0].set_xlabel(\"max_depth调优参数\")\n",
    "axes[0].set_ylabel(\"错误率\")\n",
    "axes[0].grid(True)\n",
    "\n",
    "axes[1].plot(tuned_parameters, accuracy_t)\n",
    "axes[1].set_xlabel(\"max_depth调优参数\")\n",
    "axes[1].set_ylabel(\"正确率\")\n",
    "axes[1].grid(True)\n",
    "\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:22:53.366288100Z",
     "start_time": "2023-12-19T14:20:04.134029800Z"
    }
   },
   "id": "55f94d6e6bb5ac7e"
  },
  {
   "cell_type": "markdown",
   "source": [
    "观察上图，max_depth大概在40左右为最佳值"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "409794828e30f800"
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 4.1.4. min_samples_leaf调优"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "86faa998f176fc59"
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2851: FutureWarning: Setting the eps parameter is deprecated and will be removed in 1.5. Instead eps will always havea default value of `np.finfo(y_pred.dtype).eps`.\n",
      "  warnings.warn(\n",
      "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:2922: UserWarning: The y_pred values do not sum to one. Starting from 1.5 thiswill result in an error.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 2000x400 with 2 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABlkAAAFxCAYAAADwNs4DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACn0ElEQVR4nOzdd3zV9fXH8de9N3vvRcLIICQhRJYgoICiqAxFQCuOamuVVosIVkEtQn/YVrCidiiOqqDVloIM9wBEEAUZQgIhE5JA9r7Z4/7+CERTBQIm3Nzk/Xw8fMi938G5n8O9yfee7+dzDBaLxYKIiIiIiIiIiIiIiIicE6O1AxAREREREREREREREbFFKrKIiIiIiIiIiIiIiIicBxVZREREREREREREREREzoOKLCIiIiIiIiIiIiIiIudBRRYREREREREREREREZHzoCKLiIiIiIiIiIiIiIjIeVCRRURERERERERERERE5DyoyCIiIiIiIiIiIiIiInIeVGQRERERERERERERERE5DyqyiIiIiIiIiIiIiIiInAc7awfQlRQXV2KxWDuK7sFgAF9fd42pDVCubIdyZRuUJ9uhXNkO5arjnRpTkXOl92HH0uebbVCebIdyZTuUK9uhXNkG5alztPe6SUWW77FY0D/CDqYxtR3Kle1QrmyD8mQ7lCvboVyJWJ/eh51D42oblCfboVzZDuXKdihXtkF5sg4tFyYiIiIiIiIiIiIiInIeVGQRERERERERERERERE5DyqyiIiIiIiIiIiIiIiInAcVWURERERERERERERERM6DiiwiIiIiIiIiIiIiIiLnQUUWERERERERERERERGR86Aii4iIiIiIiIiIiIiIyHlQkUVEREREREREREREROQ8qMgiIiIiIiIiIiIiIiJyHlRkERERERG5wGobmqiqb7R2GCI2o9liobq+ydphiIiIiIj8gJ21AxARERER6c7qG5tJK6ricH4lh/PMHMqvJKOoCoPBwL/vGEZvb2drhyjS5S39KIUPkwuYOzaCmRcFYzAYrB2SiIiIiAigIouIiIiISIdpbGomvbiaw3mVHM43czi/ktTCKhqbLT/Yt4+XEy4OJitEKWJ7/N0daWiysHxzGkcKKnn4iigc7LQwg4iIiIhYn4osIiIiIiLnobHZwtGStgWVlAIz9U0/LKh4OtkRE+RObKAb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yd3dXZIUFhamadOm6a233lJ8fLweeOABTZw4Uf7+/jd83+vt7+eff9ann34qScrPz1f37t0lld4V99prryk1NVWtWrWSm5tbmWO/GRcuXNDFixdlsVhUUlKiTp06qWHDhrpw4YJtP5dVrVr1iu1TUlJ08OBBtW/fXj/++OMVPy8oKNBzzz2nsLAwPf/881qyZImMRqMGDhyo//u//9OCBQuUnp6udevWafbs2erbt69WrVqlevXqqW/fvjIYDMrKytKJEyc0bdo05efn67vvvtM777yjrVu3KisrS61bt76lYwYAAADuFmomaiZqJgD3AposAHAX3cz8vb+Vm5ur4uJiLV68WEVFRVqwYIHGjx+vDRs2aOPGjYqOjta2bdvk4eGhTz75RF9++eVNvW9SUpLt72fOnLnqBfFvVa9eXV26dNGrr74qSSopKVFubq6k0ovnFi1aaMiQIcrOzlZ4eLjee+89TZw48ZaP+df7GzRokHr27Cmp9AL88t1VM2fO1AMPPGAbol6eO8BGjBih9u3bq6ioSAEBAapWrZrWrFmj1atX69SpU8rLy7vu9mvWrFHDhg2vGPputVplMBjk4uKijz/+WAaDQfn5+WrTpo1KSkpsd5v16tVLo0eP1vLly/XEE0/o5ZdftuVh9+7dmjdvnpycnPTiiy9qyZIliouLk4uLiwYMGKARI0bIaDTqnXfeueXjBgAAACoqaqZbQ81EzQTA/pguDAAquOLiYj399NNav3690tLSZLVaVVxcLKl0/mCr1arMzEx9++23ev/992/qLi9Jio6O1tq1a3Xq1CktWrRIPXr0uOE2vXv31p49e3T69Gm5uLho2bJlioiIkCQdP35cTz31lPbu3aucnBxJuuFUADfSr18/bd682XackydP1vLlyyWVHntRUZHOnj2r+fPn68CBAzd97Onp6SosLJTZbFbNmjXVpEkTFRUV6dy5cxo4cKDef//9G877nJKSooULF+qZZ5654mcLFizQkiVLJMk2z/DkyZP15JNP6tVXX5Wfn5/Wr1+vPn36aPTo0dqwYYOSk5PLFG1Wq1XJycn68ssvNWbMGL3//vu2oqhevXoKDg6Wh4eHmjRpclPHDAAAAFRW1EzUTNRMAOyJkSwAUMF5enpqzpw5mj9/viZOnKhatWpp2rRpkqQBAwbom2++Ua9evdSwYUMNHTpUy5cvv6mFIbt06aLVq1fr9ddfV5cuXfTCCy/ccJuaNWtq9uzZmjVrlhISEtSyZUu9/fbbkqROnTpp6NCheumll5Sdna3WrVvr73//++869n79+ik1NVXPPfecLBaLunfvrvDwcEnSuHHjNHnyZK1evVo9evRQx44ddeTIkZt635KSEj3zzDMaNWqUhgwZokcffVS+vr46ePCg7TVWq1UjR460zUF8eTtJSk1N1QsvvKB69eqpT58+kkrnet6yZYusVquioqL09NNPl9nnuHHjNHHiRGVmZmrXrl0KDw9XTk6OnnnmGfXq1UtGY9n7HgwGgyIjIxUbG6unnnpKDzzwgMLDw7Vs2TJ98803Sk1NVV5enpYuXaonn3zy1k8uAAAAUElQM1EzUTMBsCeD9WZb2ACASmPBggVKSkqyLQZ5r9q2bZtmzpypzZs3l5mD+cSJExo4cKCcnJwUFRWlOnXqSCqd37hly5b6+OOPNXfuXM2bN0/VqlWTVDrf8apVq1RYWKiAgAA98cQTtjmko6Ki9Mknnyg5OVkhISFq3769/vKXv6hZs2bXjG3Lli3avHmzTpw4oYiICLVv31579uzR/PnzJUnz589XamqqnnzySXXs2FGRkZEymUx36lQBAAAA9xRqplLUTABwYzRZAKACuLwo4m/Vr19fK1euvO37u5sFw4YNG2x3kf3WqFGjNHz48Dsew/WkpKQoKCjoiud37dqlli1blmtO6N+yWCxKTExU3bp1bUXEjXzxxRdydnZW165dbXdsHT58WDExMerXr59tSH1KSopiY2PVoUOH3x0nAAAAUFFRM9kPNRMAXB9NFgCoABITE6/6vLOz81UvZh1JTk6OMjIyrvozX1/f23JBDgAAAKByo2YCAFRUNFkAAAAAAAAAAADKwXjjlwAAAAAAAAAAAOC3aLIAAAAAAAAAAACUA00WAAAAAAAAAACAcqDJAgAAAAAAAAAAUA40WQAAAAAAAAAAAMqBJgsAAAAAAAAAAEA50GQBAAAAAAAAAAAoB5osAAAAAAAAAAAA5fD/AA03ukQT6lV2AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 确定min_samples_leaf的取值范围\n",
    "tuned_parameters = range(1, 15, 2)\n",
    "\n",
    "# 创建添加accuracy的一个numpy\n",
    "accuracy_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# 创建添加error的一个numpy\n",
    "error_t = np.zeros(len(tuned_parameters))\n",
    "\n",
    "# *******************调优过程实现*******************\n",
    "for index, value in enumerate(tuned_parameters):\n",
    "    rf2 = RandomForestClassifier(n_estimators=158,\n",
    "                                 max_depth=40,\n",
    "                                 max_features=15,\n",
    "                                 min_samples_leaf=value,\n",
    "                                 oob_score=True,\n",
    "                                 random_state=0,\n",
    "                                 n_jobs=-1)\n",
    "    rf2.fit(trainX2, trainY2)\n",
    "    #输出accuracy\n",
    "    accuracy_t[index] = rf2.oob_score_\n",
    "    #输出log_loss\n",
    "    pre2 = rf2.predict_proba(testX2)\n",
    "    error_t[index] = log_loss(testY2, pre2, eps=1e-15, normalize=True)\n",
    "    # print(error_t)\n",
    "\n",
    "fig, axes = plt.subplots(nrows=1,  #一行两列\n",
    "                         ncols=2,\n",
    "                         figsize=(20, 4),\n",
    "                         dpi=100)\n",
    "\n",
    "axes[0].plot(tuned_parameters, error_t)\n",
    "axes[0].set_xlabel(\"min_samples_leaf调优参数\")\n",
    "axes[0].set_ylabel(\"错误率\")\n",
    "axes[0].grid(True)\n",
    "\n",
    "axes[1].plot(tuned_parameters, accuracy_t)\n",
    "axes[1].set_xlabel(\"min_samples_leaf调优参数\")\n",
    "axes[1].set_ylabel(\"正确率\")\n",
    "axes[1].grid(True)\n",
    "\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:29:33.423488100Z",
     "start_time": "2023-12-19T14:28:23.499023300Z"
    }
   },
   "id": "a9d86bc09b63edd2"
  },
  {
   "cell_type": "markdown",
   "source": [
    "观察上图 min_samples_leaf最优1\n"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "7e34647c054f824c"
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 4.2 确定最优值\n",
    "\n",
    "n_estimators=158,\n",
    "max_depth=40,\n",
    "max_features=15,\n",
    "min_samples_leaf=1,\n",
    "oob_score=True,\n",
    "random_state=0,\n",
    "n_jobs=-1"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "96fe43df220221f4"
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "outputs": [
    {
     "data": {
      "text/plain": "RandomForestClassifier(max_depth=40, max_features=15, n_estimators=158,\n                       n_jobs=-1, oob_score=True, random_state=0)",
      "text/html": "<style>#sk-container-id-1 {color: black;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>RandomForestClassifier(max_depth=40, max_features=15, n_estimators=158,\n                       n_jobs=-1, oob_score=True, random_state=0)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">RandomForestClassifier</label><div class=\"sk-toggleable__content\"><pre>RandomForestClassifier(max_depth=40, max_features=15, n_estimators=158,\n                       n_jobs=-1, oob_score=True, random_state=0)</pre></div></div></div></div></div>"
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf3 = RandomForestClassifier(n_estimators=158,\n",
    "                                 max_depth=40,\n",
    "                                 max_features=15,\n",
    "                                 min_samples_leaf=1,\n",
    "                                 oob_score=True,\n",
    "                                 random_state=0,\n",
    "                                 n_jobs=-1)\n",
    "\n",
    "rf3.fit(trainX2, trainY2)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:41:35.276449100Z",
     "start_time": "2023-12-19T14:41:24.047170500Z"
    }
   },
   "id": "1a919e1ef910f77d"
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "outputs": [
    {
     "data": {
      "text/plain": "0.9081667815299793"
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf3.score(testX2, testY2)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:42:11.653974300Z",
     "start_time": "2023-12-19T14:42:11.370597100Z"
    }
   },
   "id": "ad1ca4afb2f1ae4d"
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "outputs": [
    {
     "data": {
      "text/plain": "0.9022898395906201"
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf3.oob_score_"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:42:42.645135500Z",
     "start_time": "2023-12-19T14:42:42.626123900Z"
    }
   },
   "id": "9d9d67786f970127"
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "outputs": [
    {
     "data": {
      "text/plain": "0.3515319047300877"
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pre_proba_after = rf3.predict_proba(testX2)\n",
    "log_loss(testY2,pre_proba_after)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-12-19T14:45:16.904936300Z",
     "start_time": "2023-12-19T14:45:16.603664200Z"
    }
   },
   "id": "add877307b904363"
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 提交数据"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "5ded76989f412c11"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "test_data =pd.read_csv(\"d://data//otto//test.csv\")"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "b1937fce748031be"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "test_data_drop_id = test_data.drop([\"id\"],axis=1)"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "1667b7f69a296634"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "y_pre_test = rf3.predict_proba(test_data_drop_id)"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "164a67deabe2d31f"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "y_pre_test"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "cdf8fc40b510b2e0"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "result_data = pd.DataFrame(y_pre_test,columns=[\"Class_\"+str(i) for i in range(1,10)])"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "3e8d33afb2178f54"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "result_data.insert(loc=0,column=\"id\",value=test_data.id)"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "4a8b00b8128aabfb"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "result_data.to_csv(\"d://data//otto//submission.csv\",index=False)"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "ad3053683a97f212"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "c816ab12e9520e09"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "c978d43dc8d673bd"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "e2799ddbf7144628"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "a439c2eeb3d38872"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
